Javascript-通过i=0直接传递array[0]与array[0],array[i]在“;如果“;陈述
Javascript - Is passing array[0] directly vs array[0] by i= 0 array[i] fundementally different inside an "if" statement?
处理编程难题。目标是创建一个函数,"从前面开始删除数组(第一个参数)的元素,直到谓词(第二个参数)返回true。"
dropElements([1, 2, 3, 4], function(n) {return n > 5;});
function dropElements(arr, func) {
for (i = 0; i < arr.length-1; i++) {
if(func(arr[i])) {
break;
}
else {
arr.splice(i,1);
i--;
}
}
return arr;
}
返回错误答案的[4]
但是以下内容:
dropElements([1, 2, 3, 4], function(n) {return n > 5;});
function dropElements(arr, func) {
for (i = 0; i < arr.length; i++) {
if (func(arr[0])) {
break;
}
else {
arr.shift();
i--;
}
}
return arr;
}
返回正确答案的[]
我用手写出来的,看起来应该是一样的。这是不是与我不理解的胁迫有关?
您的第一个循环最多为arr.length-1
,而第二个循环为arr.length
。
相关文章:
- 如何为json对象中的段发送array[]
- Array.length似乎不起作用;console.log则显示其他情况
- 如何迭代Array.prototype函数
- Javascript 新的 Array 和 join() 方法
- Array.lenght = undefined
- Javascript setTimeout for an array
- NodeJS API调用中Array中的Push和Pull元素
- 如何在MongoDB中将String转换为Array
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- 您的平台不支持RxJS-Array.observe
- 在Jquery/Javascript中的Array中插入Textbox值
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- Array.every返回false,而不是类型error
- Javascript-通过i=0直接传递array[0]与array[0],array[i]在“;如果“;陈述
- JavaScript Array unshift() 以一种不可变的方式
- 为什么可以't我用Set对象调用Array.prototype.map
- Array方法中的Javascript循环
- 为什么这个array.filter总是不返回任何内容
- 复选框:使用Array.prototype.forEach调用推送选中订单,
- 在javascript中,从迭代器创建Array