繁体   English   中英

访问JavaScript对象内部的数组

[英]Accessing array inside javascript object

我试图返回一个基于键的值数组。 我尝试返回的值取决于用户输入的键。 但是,当我遍历for循环时,出现一条错误消息: TypeError: Cannot read property 'length' of undefined 我究竟做错了什么?

 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;
};

就像我在评论中所说的那样, object.key在寻找一个字面意义上的属性key 如果要访问由用户输入定义的属性,则必须使用[]语法。 就您而言, [key]

尝试这个:

exports.function(key) = {
  return obj[key];
};

或者,以摘录形式

 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)) 

如果我正确理解:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM