看来我无法找到一个答案,这在任何地方如何迭代关联数组上的整数索引?
我有一个数组
array=["id1" : "somedata", "id2" : "somedata2",....]
,所以我可以用一个特殊的数据库ID 但如果我想要遍历(整数)什么通过这个数组的索引它从一开始的位置?
for(i=5;i<10;i++)
array[i]... <= complains that index dont exist of course
看来我无法找到一个答案,这在任何地方如何迭代关联数组上的整数索引?
我有一个数组
array=["id1" : "somedata", "id2" : "somedata2",....]
,所以我可以用一个特殊的数据库ID 但如果我想要遍历(整数)什么通过这个数组的索引它从一开始的位置?
for(i=5;i<10;i++)
array[i]... <= complains that index dont exist of course
似乎并非是一个有效的数组。
要么是:
array=[{"id1" : "somedata"}, {"id2" : "somedata2"},....]
或者:
object={"id1" : "somedata", "id2" : "somedata2",....}
无论如何,迭代这个数组:
for(i=5;i<10;i++) { // or i = 5; i < 10 && i < array.length; i++
if(array[i]) { // check if the index exists, also you could use array[i] !== undefined
....
}
}
Javascript中的“关联数组”基本上是一个对象。所以,你可以使用Object.keys
检索&抢相关指标的关键:
var keys = Object.keys(arr);
for(i=5; i<10; i++) {
var keyName = keys[i]; // "id1", "id2", etc.
console.log(arr[keyName]); // "somedata"
}
首先,它不是一个数组[],但对象{},现在你可以做的是把每一值,并将它们存储到一个索引,或者创建自己的对象的数组,我不知道到底是什么你的下一个要求是
array={"id1" : "somedata", "id2" : "somedata2"};
$.each(array, function(index, value) {
console.log(index + ": " + value);
});
试试这个,
分裂数组的值。
function array_values(input) {
var tmp_arr = [],
key = '';
if (input && typeof input === 'object' && input.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array
return input.values();
}
for (key in input) {
tmp_arr[tmp_arr.length] = input[key];
}
return tmp_arr;
}
使用:
var new_array = array_values(your_array);
现在你new_array
具有值索引0,1,2 ......你现在能做的for
环..
假设你的数组定义像这样:
array={"id1" : "somedata","id2" : "somedata2"};
这将厕所
for (var k in array){
if (array.hasOwnProperty(k)) {
alert("Key is " + k + ", value is" + array[k]);
}
}
阵列=:通过与所需的索引,例如,阵列P { “ID1”: “somedata”, “ID2”: “somedata2”,...}? – KennyXu
你应该像'[{“id”:“somedata”},{“id”:“somedata2”},....]'' – Satpal
@ user1465639正确创建数组我认为OP意味着他们有一个数组:'arr [ “id1”] =“somedata”' – CodingIntrigue