我正在尝试将数组转换为对象(由第一个元素作为键)。
foo = [1,2]
function convert_foo(foo) {
return { foo[0]: foo[1] };
}
以下无效的Javascript:Uncaught SyntaxError: Unexpected token [
。
我也尝试过:
function convert_foo(foo) {
return ({ foo[0]: foo[1] });
}
编辑:
这是可能的,但是我想知道是否有一种方法可以将其返回一行。
function convert_foo(foo) {
var obj = {}
obj[foo[0]] = foo[1];
return obj;
}
答案 0 :(得分:4)
对于动态键(在ECMAScript 2015中为动态键(又名计算的属性名称)),必须将键放在方括号中:
function convert_foo(foo) {
return { [foo[0]]: foo[1] };
}
console.log(convert_foo([1, 2]));
答案 1 :(得分:1)
在即将到来的Object.fromEntries()(在某些浏览器中为already supported)中,您还可以执行以下操作:
function convert_foo(foo)
{
return Object.fromEntries([foo]);
}
console.log(convert_foo([1, 2]));
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}