[英]Accessing array inside javascript object
I'm trying to return an array of values based on a key. 我试图返回一个基于键的值数组。 The values I am trying to return is dependent on the key a user enters.
我尝试返回的值取决于用户输入的键。 However, when I am iterating through my for loop I am getting an error saying:
TypeError: Cannot read property 'length' of undefined
. 但是,当我遍历for循环时,出现一条错误消息:
TypeError: Cannot read property 'length' of undefined
。 What am I doing wrong? 我究竟做错了什么?
var obj = {
14: ['abc', 'def', 'gh', 'i', 'k'],
90: ['asdf','xxc' , 'd'],
92: ['def', 'dr' , 'vvd', 'off']
}
exports.function(key) = {
var temp = {};
for(var i = 0; i < obj.key.length; i++){
temp[i] = obj.key[i];
}
return temp;
};
Like I said in my comment, object.key
is looking for an attribute literally called key
. 就像我在评论中所说的那样,
object.key
在寻找一个字面意义上的属性key
。 If you want to access an attribute that is defined by a user's input, you have to use the []
syntax. 如果要访问由用户输入定义的属性,则必须使用
[]
语法。 In your case, [key]
. 就您而言,
[key]
。
Try this: 尝试这个:
exports.function(key) = {
return obj[key];
};
Or, in snippit form, 或者,以摘录形式
var obj = { 14: ['abc', 'def', 'gh', 'i', 'k'], 90: ['asdf','xxc' , 'd'], 92: ['def', 'dr' , 'vvd', 'off'] }; function getKey(key){ return obj[key]; } console.log(getKey(14)) console.log(getKey(92))
If I understood correctly: 如果我正确理解:
var obj = {
14: ['abc', 'def', 'gh', 'i', 'k'],
90: ['asdf','xxc' , 'd'],
92: ['def', 'dr' , 'vvd', 'off']
}
function test(key) = {
return obj[key];
};
test(14) //returns ['abc', 'def', 'gh', 'i', 'k']
test(92) //returns ['def', 'dr' , 'vvd', 'off']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.