如何使用给定的键和值创建对象?
问题描述:
我想创建一个函数,返回一个新的对象与键值对。我从数组的第一个和最后一个元素中获得键和值。我可以得到函数来返回组成键 - 值对的元素,但只要我将大括号中的数组元素包装成通过函数返回对象,它就不起作用。问题是什么?如何使用给定的键和值创建对象?
// Create an array
var names = ["Apples", "Oranges", "Yummy", "Candy", "Plop"];
// Return an object with a key–value pair from the first and last element of an array
function firstLast(array) {
var obj = {
array[0] + ": " + "'" + array[array.length - 1] + "'";
};
return obj;
}
console.log(firstLast(names));
答
这是无效的语法。你需要的是:
var obj = {
[array[0]]: array[array.length - 1]
};
另一种方法是:
var obj = {};
obj[array[0]] = array[array.length - 1];
答
您可以使用方括号表示法来分配的价值,但我的初始后含有相同的答案@ Xufox的替代品。所以我想我会介绍一种不同的方法,它使用传入函数的参数并通过移动和弹出该数组构建返回的对象。做同样的工作只是一个不同的方式。
var names = ["Apples", "Oranges", "Yummy", "Candy", "Plop"];
function firstLast(array) {
return {[arguments[0].shift()]: arguments[0].pop()};
}
console.log(firstLast(names));
我今天了解到某事时,'{[VAR]:1}'一部分。非常酷。 – wscourge
我明白了!谢谢。我完全不知道这个语法。 –