jjzjj

array_push

全部标签

javascript - "array.length -1"在 JavaScript 中是什么意思?

例如,我知道如何使用JavaScriptfor循环循环遍历数组,但我仍然不明白array.length-1的含义,特别是-1部分。当在数组上使用for循环时,我们有这样的事情:for(i=0;i但有时我也看到过这样的事情:for(i=0;i第二种情况,为什么array.length中会有“-1”,它有什么作用?还有为什么有时显示有时不显示? 最佳答案 这是为了防止fencepost错误,也就是“off-by-one”。常见试题:Youarerequiredbuild100metersoffence,withafenceposteve

javascript - 如何在 Indesign 脚本中使用 Array.reduce() 等高阶函数?

我已经开始了一个项目,我需要使用Adob​​eIndesign和ExtendScript以编程方式从一系列INDD文件中提取一些数据。在这些程序中用于编写脚本的Javascript版本不支持我习惯使用的任何高阶函数(Array.reduce()、Array.forEach()、Array.map()等...)。有没有办法将此功能添加到ExtendScript中?我觉得我在一个四英尺高的天花板的房间里走来走去。 最佳答案 使用PolyfillExtendScript似乎支持纯Javascript对象的原型(prototype)设计(但

javascript - ng-repeat、for-loop 和 push

我快疯了。这个hello-worldesque示例有什么问题?我只是想用angularjs1.5.5测试一些基本的东西。HTML:test1:{{label}}test2:{{label}}JS:angular.module('myApp',[]).controller('Ctrl',['$scope',function($scope){$scope.test=function(amount){varresult=[];result.push("1");for(vari=0;iJsFiddle:http://jsfiddle.net/d3v6vq7w/7/简单地说,循环适用于1次迭代,

javascript - 使用 forEach 循环遍历 Array(n),未定义值的数组

这个问题在这里已经有了答案:JavaScript"newArray(n)"and"Array.prototype.map"weirdness(14个答案)forEachonarrayofundefinedcreatedbyArrayconstructor(5个答案)关闭6年前。我想使用数组构造函数Array()快速构造一个长度为n的数组,然后循环生成的数组。根据MDN'sdocs:IftheonlyargumentpassedtotheArrayconstructorisanintegerbetween0and232-1(inclusive),thisreturnsanewJavaSc

javascript - 乔伊 :allow null values in array

我正在尝试在POST请求中添加对数组的验证Joi.array().items(Joi.string()).single().optional()我需要在负载中允许空值。你能告诉我如何做到这一点吗? 最佳答案 如果你想让数组为空,使用:Joi.array().items(Joi.string()).allow(null);如果你想在数组中允许空字符串或空白字符串使用:Joi.array().items(Joi.string().allow(null).allow(''));示例:constJoi=require('joi');vars

javascript - Array.map() 与 d3.selectAll().data.enter()

我试图了解使用d3.selectAll.data.enter()循环遍历数据集并绘制它的好处。vardata=[4,8,15,16,23,42];varx=d3.scale.linear().domain([0,d3.max(data)]).range([0,420]);letchartsvg=d3.select(".chart").append("svg");chartsvg.selectAll("rect").data(data).enter().append("rect").attr("x",0).attr("y",function(d,i){return25*i;}).attr

javascript - 为什么在此实例中使用 `concat` 而不是 `push`?

我正在浏览这个问题的答案:CanIdispatchanactioninreducer?在thisanswer,我看到以下内容:actionQueue=actionQueue.concat([asyncAction]);本质上是一样的:actionQueue.push(asyncAction);(忽略concat调用正在创建一个新数组并将其重新分配给actionQueue,结果是一样的——一个带有asyncAction的数组附加到它)。最初,我认为它(也许)(以某种方式)表现得更好,而其他人显然也在想同样的事情,因为他们在jsperf中击败了我:Array.concat()vs..pus

javascript - 为什么我的示例代码中的 "a.push(b)"会变成 "b"?

我试图将一个值推送到数组,但这会将值添加到数组a和b。如何确保b数组未被修改?vara=[[1]];varb=[2];document.getElementById("1").innerHTML="a[1]"+a[1];document.getElementById("2").innerHTML="b"+b;a.push(b);document.getElementById("3").innerHTML="a[1]"+a[1];document.getElementById("4").innerHTML="b"+b;a[1].push([3]);document.getElementB

javascript - 为什么我在使用 push() 时总是在数组中获取数组?

我正在尝试理解MDN关于.push()的文档和.apply()因为我遇到了一个问题,我最终在项目的数组中得到了一个数组。我已经设置了一些实验代码来说明我的问题。谁能解释为什么foo()中的数组内容打印在另一个数组中?我不明白为什么它不为两个console.log()实例打印一个数组。varanimals=[];varchickens='chickens';varcows='cows';animals.push(cows);animals.push(chickens);console.log(animals);//>Array["cows","chickens"]functionfoo(

javascript - 为什么要使用带参数的 Array.prototype.slice.call

我正在使用apply调用一个方法,但我不知道我将传递多少个参数:目前我的代码是这样的:selectFolder:function(e){e.preventDefault();this.addSelectedClass.apply(this,Array.prototype.slice.call(arguments));},我使用Array.prototype.slice的唯一原因是因为它在大多数示例中都是如此。为什么我不只是像这样传递参数:this.addSelectedClass.apply(this,arguments); 最佳答案