假设我们有一组对象,比如:
var fruits = [ {name:"banana", weight:150},{name:"apple", weight:130},{name:"orange", weight:160},{name:"kiwi", weight:80} ]
我想迭代遍历水果,并每次告诉当前、上一个和下一个水果的名称。我会这样做:
fruits.forEach(function(item,index) {
console.log("Current: " + item.name);
console.log("Previous: " + item[index-1].name);
console.log("Next: " + item[index-1].name);
});
但显然它不适用于下一个和上一个项目…有什么想法吗?
请注意,我不想使用经典for循环
(对于i=0;i
非常感谢!
对于第一个和最后一个项目,可以记录END,也可以将其设置为旋转木马。
选项1:标记开始和结束:
fruits.forEach(function(item,index) {
console.log("Current: " + item.name);
console.log("Previous: " + (0 == index)? "START" : fruits[index-1].name);
console.log("Next: " + (fruits.length - 1 == index)? "END" : fruits[index+1].name);
});
选项2:旋转木马
fruits.forEach(function(item,index) {
console.log("Current: " + item.name);
console.log("Previous: " + (0 == index)? fruits[fruits.length - 1].name : fruits[index-1].name);
console.log("Next: " + (fruits.length - 1 == index)? fruits[0].name : fruits[index+1].name);
});
ForEach 循环中的回调函数接受数组作为第三个参数:
fruits.forEach((item, index, arr) => {
console.log("Current: " + item.name);
console.log("Previous: " + ((0 === index)? "START" : arr[index-1].name));
console.log("Next: " + ((arr.length - 1 === index)? "END" : arr[index+1].name));
});
它不起作用,因为项目不是数组,所以我们不能写项目[索引-1].名称。相反,我们需要使用水果[索引-1]。此外,数组的第一个元素将没有上一项,最后一个元素将没有下一项。下面的代码片段应该适合您。
var fruits = [{
name: "banana",
weight: 150
}, {
name: "apple",
weight: 130
}, {
name: "orange",
weight: 160
}, {
name: "kiwi",
weight: 80
}]
fruits.forEach(function(item, index) {
console.log("Current: " + item.name);
if (index > 0) {
console.log("Previous: " + fruits[index - 1].name);
}
if (index < fruits.length - 1) {
console.log("Next: " + fruits[index + 1].name);
}
});
像这样,我想通过linq获得who行
我想做的是创建一个新的数组,它来自一个输入数组并遍历它。新数组的每一项都是迭代的前一项和下一项相乘的结果。 例如: 这是我的代码,我不明白为什么我一直得到array_final=[0,0,0,0,0]
表的复合键是symbol和“datetime”(它只是一个时间戳)。这两列在dynamodb中都设置为字符串。 我收到的错误是:提供的键元素与模式不匹配
迭代时如何获取数组中的下一项? 我知道我可以使用这个语法的循环,但更喜欢上一个。
问题内容: Swift 3支持像这样的功能吗? 如果没有,最有效的逻辑是什么? 问题答案: 您可以为数组创建自己的扩展名。 您可以这样称呼它
在订单类中,我们有UUID和其他字段: 解析器可以是这样的: 我知道它不起作用,那么如何实现下一个项目呢?UUID 是否基于时间并且可以用作索引?