草庐IT

学习typeScript(weakMap,weakSet,set,map)

全部标签

javascript - typescript ,静态方法继承

我正在使用typescript,我对类之间的静态继承有疑问任何人都可以向我解释以下结果:classFoo{protectedstaticbar:string[]=[];publicstaticaddBar(bar:string){this.bar.push(bar);}publicstaticlogBar(){console.log(this.bar);}}classSonextendsFoo{protectedstaticbar:string[]=[];}classDaughterextendsFoo{}Foo.addBar('Hello');Son.addBar('World');

javascript - 如何获取 javascript map 对象中特定索引处的键?

假设我有以下map对象constitems=newMap([['item1','A'],['item2','B'],['item3','C']])我想获取索引2处的键。除了使用for循环获取索引=2处的项的键之外,还有其他方法吗?按照答案进行操作-Array.from(items.keys())[2] 最佳答案 要获取索引2处的键,请执行以下操作://Yourmapvaritems=newMap([['item1','A'],['item2','B'],['item3','C']]);//Thekeyatindex2varkey=A

javascript - TypeScript/JavaScript 中的 array.indexOf

这个问题在这里已经有了答案:indexOfmethodinanobjectarray?(29个答案)关闭6年前。更新:虽然这个问题被标记为与this重复.但是@ssube的方法很简洁,也更聪明。更新2:@Grungondola的评论中似乎有新的方法可以做到这一点。我正在使用Typescript。这很有效。vararray1=[];array1.push(5);array1.push(6);console.log("a",array2.indexOf(6));但这并不能很好地工作。因为array2.indexOf返回-1,这意味着它没有找到它。vararray2=[];array2.pu

javascript - 如何在 typescript 中包含原型(prototype)

我正在学习angular2,我已经为我想在我的一项服务中使用的chop方法编写了一个ts定义。chop.tsinterfaceString{truncate(max:number,decorator:string):string;}String.prototype.truncate=function(max,decorator){decorator=decorator||'...';return(this.length>max?this.substring(0,max)+decorator:this);};如何将其导入另一个typescript模块或至少使其可在全局范围内使用。

javascript - react native : How to set <TextInput/>'s height and width to <View/> container?

我目前有一个在里面有一个padding:15.我想要's覆盖内部所有空间的宽度和高度除了填充。所以我尝试了varwidth=Dimensions.get('window').width和以下,但是遵守左侧的填充,但当您继续键入时,它会超出右侧填充:那么我怎样才能让TextInput覆盖View内的所有空间、高度和宽度,同时还要遵守View的填充规则?谢谢 最佳答案 尝试将TextInput的样式设置为flex:1而不是获取宽度。Flex样式将自动填充您的View并将填充留空。 关于jav

javascript - Reactjs map 有效,但 forEach 无效

我很难理解forEach和map之间的区别。在下面的渲染函数中,如果将“forEach”替换为“map”,它就可以工作。我不明白为什么它不适用于“forEach”。{item.id}和{item.text}都存在于这两种方法中。那么,为什么在使用“forEach”时没有设置“TodoItem”的Prop?render(){return({this.props.items.forEach(function(item){return()})});}所以如果'forEach'没有返回任何东西,为什么这也不起作用:render(){return({this.props.items.forEac

javascript - 试图学习递归函数,但无法理解它

我正在尝试学习如何使用递归函数,但我根本不了解正在发生的事情。functionpower(base,exponent){returnbase*power(base,exponent-1);};alert(power(4,4));我得到:RangeError:Maximumcallstacksizeexceeded.从我要讲的例子来看,它有:functionpower(base,exponent){if(exponent==0)return1;elsereturnbase*power(base,exponent-1);}alert(power(4,4));有人可以向我解释为什么需要if语

javascript - 带下划线的 map 缩小对象

我想将此对象缩减为仅包含产品名称和平均价格的对象。最快的方法是什么?varfoo={group1:[{name:"one",price:100},{name:"two",price:100}],group2:[{name:"one",price:200},{name:"two",price:200}],group3:[{name:"one",price:300},{name:"two",price:300}]}导致varfoo2=[{name:'one',price:200},{name:'two',price:200}];谢谢! 最佳答案

javascript - 如何在 TypeScript 2 中转换为数组?

我有一些代码将对象转换为数组类型(这样我就可以在对象上使用数组函数而不会出现编译错误)。varn=(result.data['value']as[]).map((a)=>{//..});但是在升级到ts2时,我得到:errorTS1122:Atupletypeelementlistcannotbeempty.这实际上是语法错误,声称您忘记了逗号或值。那么,我该如何修改此转换才能正常工作?我试过as[IMyType]并且它有效,但我不想指定类型,因为我在这里只需要array.prototype函数......还有,我不认为那是你实际这样做的方式。 最佳答案

javascript - 如何在 map 功能中先跳过

我想跳过.map函数中的第一个,我现在做的是:block.gallery.map((item,i)=>({block.gallery.length>4&&i!==0?{block.gallery.length-4}+Foto's:} 最佳答案 所以slice它跳过第一个block.gallery.slice(1).map(...)您还需要引用传递到map中的项目,而不是使用原始数组的索引。block.gallery[i].images.thumbnail_sm应该是item.images.thumbnail_sm