所以我有一個對象(編輯:最初稱之爲「哈希」)像只返回對象的'值',而不是關鍵?
newHash =
{item1: "spam",
item2: "everything"
}
,我想回到剛纔的「垃圾郵件」和「一切」。
看來它不工作寫了這樣的循環:
for (var x in newHash) {return newHash[x].value}
謝謝!
編輯:根據流行的慣例,用「對象」替換有問題的單詞「散列」。
所以我有一個對象(編輯:最初稱之爲「哈希」)像只返回對象的'值',而不是關鍵?
newHash =
{item1: "spam",
item2: "everything"
}
,我想回到剛纔的「垃圾郵件」和「一切」。
看來它不工作寫了這樣的循環:
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]);
}
嘗試這樣:
function getObjectValues(obj) {
var i, ret = [];
for(i in obj) if(obj.hasOwnProperty(i)) ret.push(obj[i]);
return ret;
}
你可以做到以下幾點:
return Object.keys(newHash).map(function (key) { return newHash[key]; });
,它會返回在對象數組中的值。
它的工作原理是這樣的:你得到一個鍵數組,然後使用map函數獲得一個對應的數組,其中包含每個鍵的值。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
你的對象聲明具有「字符到多
newHash = {
item1: "spam",
item2: "everything"
}
for(var x in newHash)
console.log(newHash[x]);
(函數(O){風險RES = [],我
''''字符在問題中很可能只是一個錯字,這並不能回答關於「返回」值的部分 –
正確 - 我想我失去了專注於他說循環不起作用。 – becquerel
;用於(ⅰ在鄰){res.push(o [i]);} return res;})(newHash);
如果你不介意使用Underscore(這是一個很棒的庫!),你可以這樣做:
個newHash = {
item1: "spam",
item2: "everything"
}
_.values(newHash)
回報:
["spam", "everything"]
你總是可以沿着相同的路線爲Object.keys()
增加值函數對象的原型。
if (!('values' in Object.prototype)) {
Object.prototype.values = function (obj) {
return Object.keys(obj).map(function (p) { return obj[p]; });
}
}
var obj = {
'1': 'one',
'2': 'two',
'3': 'three'
}
console.log(obj.values()); // ["one", "two", "three"]
「返回」格式是什麼?你不能返回多個值(通過解構或者迭代器即將推出到ES6),那麼你在尋找什麼?一組值? –
您不應該需要js中的.value部分,但您大概只會獲得該對象中第一項的值,即「垃圾郵件」。你想把它們放在一個數組或其他東西然後返回這個地方 – PJUK