如何在关联数组上使用整数索引进行迭代
How to iterate with integer index on a associative array?
我似乎在的任何地方都找不到答案
我有一个阵列
array=["id1" : "somedata", "id2" : "somedata2",....]
这样我就可以用一个特殊的数据库id对它进行索引但是,如果我想从一个起始位置迭代(integer)这个数组,该怎么办?
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。因此,您可以使用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"
}
jsFiddle
首先,它不是一个数组[],而是一个对象{},现在你可以做的是获取这些值中的每一个,并将它们存储到索引中,或者创建你自己的对象数组,我不确定你的下一步需求是什么
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]);
}
}
相关文章:
- 名称输入的索引
- 在jQuery中获取表的行索引
- 测试索引值是否等于某个数字的倍数
- 循环遍历数组中的特定索引
- 按照选项卡索引的顺序循环一个jQuery选择
- 在JavaScript中通过索引从对象数组中获取值
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 检测个位数整数时正在转换毫秒
- 限制javascript变量的最小/最大整数
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 正则表达式只允许 x 个整数
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- 减去两个索引不同但值相同的整数
- 阻止 Internet Explorer 将我的索引转换为整数
- 根据值(整数,字符串)或(整数,浮点数)的混合返回数组的索引
- 无效的列索引未定义.取值范围为[0-8]之间的整数
- 如何在Javascript中存储整数索引数据
- 如何在关联数组上使用整数索引进行迭代
- 访问不完整数组的随机索引
- 索引不是连续整数的数组长度