gpt4 book ai didi

javascript - 获取数组键名

转载 作者:行者123 更新时间:2023-11-29 18:05:55 24 4
gpt4 key购买 nike

我有一个这样的 JSON:

{
"myName":{
"forename":"alf",
"surname":"cool",
"phone":"000000000000",
"email":"mail@com"
},.....

我可以访问每个键的代码

 for (var key in contacts) {
if (contacts.hasOwnProperty(key)) {
var newRow = new Element('li');
newRow.addClass('contact');
newRow.set('html', contacts[key].forename + ' ' + contacts[key].surname);

var innerSpan = new Element('span').set('html', contacts[key].phone + ', ' + contacts[key].email);
innerSpan.addClass('details');
innerSpan.set('html', contacts[key].phone + ', ' + contacts[key].email);
innerSpan.inject(newRow);

newRow.addEvent("click", this.setFromContact.bind(this, contacts[key]));
newRow.inject($(this.list));
// save myName to a variale here!!

}
}

现在我想将“myName”保存到一个变量中。

最佳答案

此外,MooTools 和 ES5 提供了 Object.keys

var obj = {
myName: { }
yourName: { }
};

console.log(Object.keys(obj)); // ['myName', 'yourName'];

我还建议您使用 Object.each(obj, fn(value, key, obj){}) 作为迭代器。见http://mootools.net/core/docs/1.5.1/Types/Object#Object:Object-each

它给你一个闭包,这样变量就不会被重新声明并且不会相互干扰。

var keys = [];
Object.each(contacts, function(value, key){
var newRow = new Element('li.contact').set('html', '{forename} {surname}'.substitute(value)),
innerSpan = new Element('span.details').set('html', '{phone}, {email}'.substitute(value)).inject(newRow);

newRow.addEvent("click", this.setFromContact.bind(this, value)).inject($(this.list));
keys.push(key); // avoids extra Object.keys call
}, this);

关于javascript - 获取数组键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31286900/

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