我是JavaScript新手,我試圖用鍵值對構建一個數組,並且我已經成功完成了該操作。檢測重複的鍵,並在javascript中的數組內替換它的值
這是我的電流輸出:
現在,我要的是檢查在array.If鍵已經存在則對應鍵的值將被更新每個對象的關鍵否則將插入一個帶有其值的新密鑰。
我的代碼:
function pushToAry(name, val) {
//alert("In the array");
var flag=1;
kony.print("name-->"+name+" val-->"+val);
for (var i in ARY) {
kony.print("ARY[i].name-->"+ARY[i].name+" ARY[i].val-->"+ARY[i].val);
if (ARY[i].name == name) {
kony.print("In if");
ARY[i].val = val;
flag=0;
break; //Stop this loop, we found it!
}else{
kony.print("In else");
}
}
if(flag==1){
kony.print("flag is 1-->"+flag);
var obj = {};
obj[name] = val;
ARY.push(obj);
}
}
我上面的代碼不工作。 ARY [i] .name和ARY [i] .val即將推出。
ARY是一個全局數組定義爲ARY=[];
我在這裏做什麼錯?
你的數據結構是有點奇怪。您有一組對象,每個對象都有一個屬性。這聽起來像是你真正想做的事情,但是一個Javascript對象本身可以讓你做一些非常相似的事情:'var foo = {}; foo [name] = val;' – Tibrogargan
請看看這篇文章 - > http://stackoverflow.com/a/1988361/4361743 – karman
Downvoter謹慎解釋?? – kgandroid