javascript - 传递键值时返回未定义的Javascript函数
问题描述
Console.log 返回:
key1
未定义
我希望看到:
key1
[“第一”,“第二”]
var testfunc = function(a) {
var matrix = {
key1: ["first", "second"],
key2: ["third", "fourth"]
};
var b = matrix.a;
console.log(a);
console.log(b);
}
var otherfunc = function() {
return "key1";
}
testfunc(otherfunc());
解决方案
您必须使用方括号表示法来访问动态属性。
所以它应该是:matrix[a]
而不是matrix.a
未定义的。
var testfunc = function(a) {
var matrix = {
key1: ["first", "second"],
key2: ["third", "fourth"]
};
var b = matrix[a];
console.log(a);
console.log(b);
}
var otherfunc = function() {
return "key1";
}
testfunc(otherfunc());
const obj = {
x: 'x',
y: 'y'
};
const x = 'y';
console.log(obj.x);
console.log(obj[x]);