Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数组值作为属性和值附加到对象中?_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何将数组值作为属性和值附加到对象中?

Javascript 如何将数组值作为属性和值附加到对象中?,javascript,arrays,object,Javascript,Arrays,Object,遍历数组编号,并将每个编号(2、4、5、37、0)作为重复对象编号的属性。每个属性的值应该是该数字乘以2。(在开始添加属性和值之前,首先创建空对象) //后来应该是这样{0:0,2:4,4:8,5:10,37:74} enter code here for (var i = 0; i < numbers.length; ++i) { duplicate_numbers.push( numbers[i]*2 ); duplicate_numbers.push( i );} 在此处输

遍历数组编号,并将每个编号(2、4、5、37、0)作为重复对象编号的属性。每个属性的值应该是该数字乘以2。(在开始添加属性和值之前,首先创建空对象)

//后来应该是这样{0:0,2:4,4:8,5:10,37:74}

enter code here for (var i = 0; i < numbers.length; ++i) {
duplicate_numbers.push( numbers[i]*2 );
    duplicate_numbers.push( i );}
在此处输入代码(变量i=0;i
我如何解决这个问题

给你,伙计!
让arr=[2,4,5,37,0];
设obj={};
arr.forEach((x)=>{
obj[x]=x*2
});
控制台日志(obj)
var数=[2,4,5,37,0];
var重复_数={};
var result=numbers.forEach(num=>{
重复的数字[num]=num*2
});

控制台日志(重复的\u编号)您需要使用对象来完成此操作,对象由键、值对组成

const numbers_duplicates = {};
const numbers =  [2, 4, 5, 37, 0];

numbers.forEach(number => { numbers_duplicates[number] = number * 2 });


对于获取或设置对象属性,可以使用。下面是一个使用您编写的基本
for
循环的版本

var数=[2,4,5,37,0];
var重复_数={};
对于(变量i=0;i
.as控制台{背景色:黑色!重要;颜色:石灰;}
.作为控制台包装{最大高度:100%!重要;顶部:0;}
const number=[2,4,5,37,0];
常量duplicateNumber={};
常量numbersorted=numbers.sort((a,b)=>a-b);
for(设i=0;i你可能想考虑一张地图。这是一个特殊的对象,完全是为了您需要的目的而制作的。
它有一系列类似阵列的方法来处理这类对象。
请看一看


map
将始终返回一个新数组。OP需要一个对象。已更新答案,请立即检查。。我不明白这个问题,如果num为零怎么办?我想我的答案完全符合这个问题,不知道为什么它被标记为否定的可能的重复
const numbers_duplicates = {};
const numbers =  [2, 4, 5, 37, 0];

numbers.forEach(number => { numbers_duplicates[number] = number * 2 });

const numbers = [2, 4, 5, 37, 0] ;
const duplicateNumbers = {};
const numbersSorted = numbers.sort((a, b) => a - b);

for (let i = 0; i < numbersSorted.length; i++) {
  duplicateNumbers[numbersSorted[i]] = numbersSorted[i] * 2;
}
var numbers= [2, 4, 5, 37, 0];
var duplicate_numbers = new Map();
numbers.forEach((val)=> {
    duplicate_numbers.set(val, val*2);
})