草庐IT

es索引实体

全部标签

javascript - 在为其索引赋值之前声明数组的长度是否更有效?

在赋值之前设置数组的长度有什么好处吗?例如,letarr=[];arr.length=10;arr[0]='a';//arr.length===10...arr[9]='i';//arr.length===10甚至letarr=newArray(10);arr[0]='a';//arr.length===10...arr[9]='i';//arr.length===10对比letarr=[];arr[0]='a';//arr.length===1arr[1]='b';//arr.length===2...arr[9]='i';//arr.length===10

javascript - 数组中的嵌套对象 - 对象解构 es6

所以我知道您可以像这样进行对象析构:const{item}=data;还有像这样的数组解构:const[item]=data;您也可以在函数参数中执行此操作,例如:constx=({item})=>item;而且我看到了很多关于它的问题和答案。但是我还没有看到数组中嵌套对象的示例和很好的解释。consttest=[{count:1}];const[{count}]=test;我通常会这样做:constx=test[0];const{count}=x;直到今天在codepen中进行测试时,我才发现您可以在同一作业中同时析构它们。谁能解释一下我在执行[{count}]时发生了什么?因为我正

javascript - 什么是等同于 es5 函数声明的 es6 粗箭头

使用ES5,我可以根据需要声明函数声明或表达式。functiones5FunctionDeclaration(){return'Iamanes5functiondeclaration';}vares5FunctionExpression=function(){return'Iamanes5functionexpression';}使用ES6粗箭头,创建这样的函数表达式是很常见的......constes6FunctionExpression=()=>{return'Iamanes6functionexpression';}但是我还没有找到用粗箭头做函数声明的方法,也许这是不可能的。//

javascript - 如何在表示矩形的数组中获取与某个索引成对 Angular 线的元素

考虑一个数组,其长度总是两个数字的乘积。对于下面的数组,l是4,w是5。还有一个给定的索引。我想获得两个数组,其中包含位于穿过该特定索引的对Angular线上的元素。[0,1,2,3,45,6,7,8,910,11,12,13,1415,16,17,18,19]index=7=>[3,7,11,15]and[1,7,13,19]index=16=>[4,8,12,16]and[10,16]index=0=>[0,6,12,18]and[0]我试过以下方法:letarr=Array(20).fill().map((x,i)=>i);functiongetDias(arr,l,w,ind)

javascript - jQuery 索引选择器

我正在尝试将我的4个图像容器放入一个新Pane中,总共有16个图像。下面的jQuery是我想出来的。第一个Pane正确显示,其中包含4张图像。但是第二个有4个图像,加上第三个Pane。第三个Pane有4个图像加上第4个Pane。我不知道为什么会出现嵌套。我的包装不会导致他们的索引发生变化。我给它们添加了css边框,它似乎被正确地索引了。我该怎么办?我想要的是在一个Pane中有1-4个,在另一个Pane中有5-8个,9-12和13-16。它需要是动态的,这样我才能更改每个Pane中的数字,所以仅在HTML中执行此操作不是一种选择。可以在这里看到问题的演示:http://beta.whip

javascript - OrderedMap 中某项的索引

如标题所述,我想获取特定项目的索引。有办法做到这一点吗?constkey=1constmap=newImmutable.OrderedMap([5,'a'],[3,'b'],[1,'c'])因此,在这种情况下,key的索引将为2。 最佳答案 可以从map中获取按键序列:letindex=map.keySeq().findIndex(k=>k===key);Seethedocsformoreinfo.或者,您可以明确地遍历键并比较它们:functionfindIndexOfKey(map,key){letindex=-1;for(le

javascript - ES6 类/实例属性

这将是一个相对较长的问题,但我真的很想了解。问题底部制定的最终问题。我已经阅读了这个问题的答案:ES6classvariablealternatives关于为什么这在ES6中不被接受的语法的问题:classMyClass{constMY_CONST='string';constructor(){this.MY_CONST;}}1)第一个答案提到:Remember,aclassdefinitiondefinesprototypemethods-definingvariablesontheprototypeisgenerallynotsomethingyoudo.我不明白;基于类的语言中的

javascript - 如何迭代 ES6/2015 类实例的属性

给定这两个类classFoo{f1;getf2(){return"a";}}classBarextendsFoo{b1;getb2(){return"a";}}letbar=newBar();什么代码可以从bar实例中获取这个属性列表?['f1','f2','b1','b2']HereisaBabelsample更新这应该是@MarcC的回答的一部分:使用装饰器,我可以轻松地将不可枚举的属性转换为可枚举的属性:classBarextendsFoo{@enumerable()getb2(){return"a";}}这是装饰器源代码:functionenumerable(){returnf

javascript - 使用 Angular1+ ES6 时, Controller 函数中的依赖注入(inject)未定义, Controller 作为类

我正在使用ES6类来定义我的Controller,所以这是语法,exportclassSearchBarController{constructor($log){'ngInject';$log.debug("Hello");}textTyped($log){$log.debug("changefired.");}}查看:因此,构造函数中的“Hello”已被正常记录。但是,typedText()函数中的“changefired”并未触发,因为显然未定义如何让我的类函数textTyped()访问$log服务?注意:如果我在构造函数中将$log分配给类属性,例如,this.logger=$l

javascript - 为什么需要立即使用我的 ES6 Promise Rejection 以避免出现控制台错误消息?

请注意:以下是在不同浏览器中表现不同的问题。所以也许这是一个浏览器实现问题。无论如何,我都希望得到一些建议。在我的应用程序中,我创建了几个promise,我可能要等到future相当长一段时间才会使用这些promise。这应该没问题,毕竟它们是promise。如果存储的promise已解决,则没有问题。我可以在未来尽可能多地使用它,并且可以多次使用它。正如预期的那样。但是,如果被存储的promise被拒绝,就会出现问题。除非我在做出拒绝后不久(不确定多快)使用该拒绝,否则Chrome或Firefox中会弹出一条控制台消息,指示存在未捕获的promise拒绝/错误。IE不会弹出该错误。因