如何循环列出包含对象的数组,从1开始到最后,而不是从零开始Javascript


const array=[
{
"firstname":"akira",
"lastname":"laine",
"number":"090897878",
"like":["pizza","coding","points","brownie"]
},{
"firstname":"harry",
"lastname":"pooter",
"number":"070896778",
"like":["Hogwarts","magic","Hagrid"]
},{
"firstname":"sherlock",
"lastname":"Holmes",
"number":"080896975",
"like":["Intriguing","case","Voilin"]
},{
"firstname":"Kristian",
"lastname":"Vos",
"number":"080894575",
"like":["Javascript","Gaming","Foxes"]
}  

]

我使用递归函数来执行任务,但还没有结果

function names(array,end) {
if(array.length>end){
console.log(array)
return names(array-1,end)    
}

}名称(数组,1(

我已经用了好几天了。我需要帮助。当您循环遍历包含对象的数组时,它会列出数组中从零到最后一个元素的元素。我现在的问题是,如何从1开始循环到数组中的最后一个元素,而不是零。

正如Daniel所说:

// entire list starting a '0'
for (let i=0; i<array.length; i++) { console.log(JSON.stringify(array[i])) }
console.log();
// entire list starting a '1'
for (let i=1; i<array.length; i++) { console.log(JSON.stringify(array[i])) }

或者作为替代方案:

var newArray = [...array];
newArray.shift();
console.log();
for (let i=0; i<newArray.length; i++) { console.log(JSON.stringify(newArray[i])) }

如果你只想要这个条目的姓氏和类似信息:

console.log();
for (let i=1; i<array.length; i++) { 
console.log(`${array[i].lastname} likes: ${array[i].like}`);
}
for (let i=1; i<array.length + 1; i++) { 
console.log(array[i-1], i)   
}

这能够为我解决问题。谢谢大家

相关内容

最新更新