我有一個這樣的對象:提取多個對象的值
object["key1"] = "text1"
object["key2"] = "text2"
object["key3"] = "text1"
object["key4"] = "text3"
我怎麼能做出來(例如警報)的具有相同的值(文本,文本2等)的元素?
在上面的例子中,它應該是object["key1"]
和object["key2"]
。
感謝
我有一個這樣的對象:提取多個對象的值
object["key1"] = "text1"
object["key2"] = "text2"
object["key3"] = "text1"
object["key4"] = "text3"
我怎麼能做出來(例如警報)的具有相同的值(文本,文本2等)的元素?
在上面的例子中,它應該是object["key1"]
和object["key2"]
。
感謝
我已排序的數組和然後認爲您要提醒或執行任何功能,對於每個重複的元素只能使用一次。 警告:排序可以得到重與陣列 http://jsfiddle.net/SPQJ7/ 以上小提琴已經設置並與多個reapeated元素
工作你可以「反轉」的對象的大小(屬性成爲值,值成爲屬性):
var byValue = {};
for (var prop in object) {
if (!(object[prop] in byValue)) {
byValue[object[prop]] = [];
}
byValue[object[prop]].push(prop);
}
這應該產生這樣的結構:
{
'text1': ['key1', 'key3'],
'text2': ['key2'],
'text3': ['key4']
}
然後,您可以檢測到有重複鍵的值:
for (var value in byValue) {
if (byValue[value].length > 1) {
alert(byValue[value].join(', '));
}
}
Um ...通過數組循環並測試每個值? – nnnnnn
這不是一個數組,這是一個對象。 JavaScript中的數組只有數字鍵。 –
我假設你的意思是'object ['key1']'和'object ['key3']'? – Jacob