Javascript 我想从数组返回一个JSON对象
我有以下数组Javascript 我想从数组返回一个JSON对象,javascript,arrays,json,Javascript,Arrays,Json,我有以下数组 numbers = ["1","2"] 我想将此数组转换为以下对象 numberList = {"1" : [], "2" : []} 我试着跟在后面。但它不起作用。我想把这个数字作为变量传递 numbers.map( function(number) { return {number : []}; }) 我想我应该简单地循环它并构建对象 let numbers = ["
numbers = ["1","2"]
我想将此数组转换为以下对象
numberList = {"1" : [], "2" : []}
我试着跟在后面。但它不起作用。我想把这个数字作为变量传递
numbers.map( function(number) {
return {number : []};
})
我想我应该简单地循环它并构建对象
let numbers = ["1","2"];
let newObject = {};
for(let i=0; i < numbers.length; i++){
newObject[numbers[i]] = [];
}
console.log(newObject);
让数字=[“1”,“2”];
让newObject={};
for(设i=0;i
在我看来,这里的其他答案提供了更干净的方法。这是一个非常古老的学派。您希望将数组转换为对象。要做到这一点,您需要使用reduce
number=[“1”,“2”]
var结果=数字。减少(函数(o,n){
o[n]=[];
返回o;
}, {});
控制台日志(结果)代码>您可以映射条目并从中构建对象
const
数字=[“1”,“2”],
object=object.fromEntries(numbers.map(key=>[key,[]));
console.log(对象)
reduce,而不是mapJSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON.numbers.map(函数(number){return{[number]:[]};})或者甚至是for(const number of numbers){newObject[number]=[];}
(并同意循环::-)或者像尼娜展示的那样,fromEntries
)我意识到所有这些答案都有更干净的方法来实现这一点。哦,一个简单的循环很好,干净,清晰,高效。我当然不会使用reduce
。过于复杂,容易出错。