似乎我无法在任何地方找到答案
我有一个数组
array=["id1" : "somedata", "id2" : "somedata2",....]
所以我可以使用特殊的db id对其进行索引 但是如果我想从起始位置迭代(整数)通过这个数组呢?
for(i=5;i<10;i++)
array[i]... <= complains that index dont exist of course
答案 0 :(得分:1)
这似乎不是一个有效的数组。
要么:
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
....
}
}
答案 1 :(得分:0)
Javascript中的“关联数组”基本上是一个Object。因此,您可以使用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"
}
答案 2 :(得分:0)
首先,它不是数组[]而是对象{},现在您可以做的是获取每个值,并将它们存储到索引中,或者创建自己的对象数组,我不是确切地知道你的下一个要求是什么
array={"id1" : "somedata", "id2" : "somedata2"};
$.each(array, function( index, value ) {
console.log( index + ": " + value );
});
答案 3 :(得分:0)
试试这个,
拆分数组的值。
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
循环播放..
答案 4 :(得分:0)
假设您的数组定义如下:
array={"id1" : "somedata","id2" : "somedata2"};
这将使用您需要的索引遍历数组,例如:
for (var k in array){
if (array.hasOwnProperty(k)) {
alert("Key is " + k + ", value is" + array[k]);
}
}