从一个对象数组中获取某个索引的值时遇到问题。
Array看起来像这样:
[Object, Object, Object, Object]
当我在Crome控制台中打开它们时,它看起来像这样:
问题是我想从其中一个对象中获取uuid
的值。
如果我写console.log(this.myArray[0].uuid)
,我将从索引0获取uuid。
但是一旦我写console.log(this.myArray[index].uuid)
,其中index是一个数字,我只得到undefined
。
我已经尝试了
var test = _.map(this.myArray,"uuid");
console.log(test[index].uuid)
但这只是我的undefined
有人可以帮帮我吗?
答案 0 :(得分:0)
如果你想要这样的索引循环数组
for(var i = 0;i<this.myArray.length;i++){
console.log(this.myArray[i].uuid)
}
答案 1 :(得分:0)
我认为您在传递密钥时误解了_.map
的工作原理:
let arr = [
{ index: 4, name: 'Hello' },
{ index: 9, name: 'World' }
]
_.map(arr, 'index') // produces [4, 9]
因此,如果您希望访问 index 值,您可以直接从数组本身执行此操作。
let indexes = _.map(arr, 'index')
indexes[0] // 4
答案 2 :(得分:0)
我已经尝试了
var test = _.map(this.mycards,"uuid");
console.log(test);
console.log(test[index]);
第一个console.log
console.log(test);
产生一个包含所有uuid的数组:
["3c539a73-d569-4512-b558-291164f34529", "b6920edc-77a8-4ac6-8fa3-65c7b05ea556", "9d8afb0c-5268-44a1-b02f-0772357025d0", "4a33b232-7c1d-4ee7-b53c-3615c0fbd7d3", "68888839-a888-4595-9be9-3ec07fe35850", "0ab242ca-e6e1-4497-871e-196c3a05e0ec", "0c311bc6-c396-45a9-865e-19cdc8800bf7", "3add00ad-7371-417a-89ae-e4f0966ab503", "ac503849-5476-4710-9c2e-a514a178c4f5"]
但是console.log(test[index]);
我又得到了undefined
。
问题是,我的方法看起来像这样:
event(index, eventObject) {
...
};
和index
总是一个数字,我不知道,因为每次调用该方法时它都不同。
但由于某些原因,当我输入一个数字而不是index
(也是一个数字)时,我会得到一个结果this.myArray[0].uuid
。
但当我改为this.myArray[index].uuid
时,我得到了未定义。
我甚至试过parseInt(index)
,但这也行不通。