所以我有一个对象(编辑:最初称它为“哈希”)
newHash =
{item1: "spam",
item2: "everything"
}
我只想返回“垃圾邮件”和“所有内容”。
像这样编写for循环似乎不起作用:
for (var x in newHash) {return newHash[x].value}
谢谢!
编辑:按照流行的约定,将“哈希”一词替换为“对象”。
最佳答案
关于您的问题的标题,我想您想这样做:
var newHash = {
item1: "spam",
item2: "everything"
};
newHash.item1; // "spam"
newHash['item1']; // "spam"
newHash.item2; // "everything"
newHash['item2']; // "everything"
然后,如果要获取所有值,则需要将它们存储到列表中:
var list = [];
for (var key in newHash) {
list.push(newHash[key]);
}
list; // ["spam", "everything"]
list.join(); // "spam,everything"
由于您的密钥是基于相同的模式,因此您也可以这样:
var list = [];
for (var i = 1; i <= 2; i++) {
list.push(newHash['item' + i]);
}