私は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=[];
として定義されているグローバル配列ですか?
動作するはずです。 1つのプロパティを持つオブジェクトの配列があります。これはあなたが実際にやりたがっているように聞こえますが、Javascript Objectはネイティブに非常によく似たことをします: 'var foo = {}; foo [name] = val; ' – Tibrogargan
この記事をご覧ください - > http://stackoverflow.com/a/1988361/4361743 – karman
Downvoter care to explain ?? – kgandroid