Abh*_*yay 0 javascript arrays web
let itemsArr = ["Milk", "Bread", "Potato"];
let quantityArr = [5, 2, 3];
for (i = 0; i <= itemsArr.length; i++) {
if (i <= itemsArr.length)
console.log(itemsArr[i] + " - " + quantityArr[i]);
}Run Code Online (Sandbox Code Playgroud)
它应该
打印以下结果:
Milk - 5
Bread - 2
Potato - 3
Run Code Online (Sandbox Code Playgroud)
但为什么它是打印以下结果:
Milk - 5
Bread - 2
Potato - 3
undefined - undefined
Run Code Online (Sandbox Code Playgroud)
请帮忙!
数组是 0 索引的,所以最后一个元素的索引总是length - 1。因此,您应该按如下方式更新循环:
let itemsArr = ["Milk", "Bread", "Potato"];
let quantityArr = [5, 2, 3];
for (i = 0; i < itemsArr.length; i++) {
console.log(itemsArr[i] + ' - ' + quantityArr[i]);
}Run Code Online (Sandbox Code Playgroud)
请注意,也无需使用该if语句检查循环内部的状态,因为它的计算结果始终为真。
对于添加的点,您可以for完全删除循环,而是使用forEach:
let itemsArr = ["Milk", "Bread", "Potato"];
let quantityArr = [5, 2, 3];
itemsArr.forEach((item, i) => {
console.log(`${item} - ${quantityArr[i]}`);
});Run Code Online (Sandbox Code Playgroud)