我得到一个随机键值对,我可以将它分配给一个数组吗?
当我将其分配为arr[50] = 'abc'
时会出现问题,它会自动创建最多50个密钥,例如arr[0]
,arr[1]
,arr[2]
等等。
我想要一个像arr[50=>'abc','40'=>'pqr','53'=>'lmn']
我在这里
if(typeof(feedArr.latestRating) == 'object'){
jQuery.each(feedArr.latestRating,function(key,val){alert('key::'+key);
if(key in newRatingArr){
//delete the key if already exists
newRatingArr.splice(key,1);
}else{
//insert the key,value
newRatingArr[key] = val; //here is the problem occurs when key is 50 it automatically creates the indexes in the array upto 50 which i dont want
// alert('Key between::'+key);
// alert('Value between::'+newRatingArr[key]);
//newRatingArr.splice(key,0,val);
}
//alert(key);
emptyRate = 0;
});
}else{
emptyRate = 1;
}
我可以在这做什么?请告诉我。
答案 0 :(得分:5)
使用对象{}
而不是数组[]
。
对象可以作为无序的键值容器,这是您在这里需要的。
// somewhere...
var newRatingArr = {};
// your code.
var emptyRate = true;
if (typeof (feedArr.latestRating) == 'object') {
jQuery.each(feedArr.latestRating, function (key, val) {
newRatingArr[key] = val;
emptyRate = false;
});
}