gpt4 book ai didi

javascript - Array.length 似乎不起作用; console.log 另有显示

转载 作者:行者123 更新时间:2023-12-03 10:22:44 25 4
gpt4 key购买 nike

我想最终将 contactList 写入页面,但即使 console.log 显示 contactList 正确接收从 localStorage 推送的联系人,其长度仍为 1!当我尝试迭代 contactList 以写入页面时,它无法按预期工作,并且我看到值应该在的位置未定义。

var contactList = [];
window.onload = init;
function init(){
var data = window.localStorage.getItem("contacts");
if(data){
myData = JSON.parse(data);
console.log("This is local storage:\n");
console.log(myData);
console.log("This is contact list before I push local storage:\n");
console.log(contactList);
contactList.push(myData);
console.log("This is contact list after I push local storage:\n");
console.log(contactList);
var j = contactList.length;
console.log("This is the length of contact list:\n");
console.log(contactList.length);

}
}

这是我的控制台窗口的示例:

This is local storage:

form.js (line 12)[[[Object { firstname="hi", lastname="hi", number="hi"}], Object {firstname="hi", lastname="hi", number="hi"}], Object{ firstname="hi", lastname="hi", number="hi"}]form.js (line 13)

This is contact list before I push local storage:

form.js (line 14)[]form.js (line 15)

This is contact list after I push local storage:

form.js (line 17)[[[[Object { firstname="hi", lastname="hi", number="hi"}], Object { firstname="hi", lastname="hi", number="hi"}], Object { firstname="hi", > lastname="hi", number="hi"}]]form.js (line 18)

This is the length of contact list:

form.js (line 20)1

最佳答案

这是 push 的预期结果。看来您想使用 concat .

push 会将任何参数追加到数组末尾的新元素中。如果您添加一个字符串,它将添加该字符串。如果您添加一个数组,它将添加一个数组...作为最后一个元素。它不会展平生成的数组。另一方面,concat 将连接两个数组并返回一个新数组。但原始数组将保持不变。

关于javascript - Array.length 似乎不起作用; console.log 另有显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com