Как добавить значения массива в объекте как свойство и значение? - PullRequest
1 голос
/ 20 мая 2019

Просмотрите номера массивов и поместите каждое число (2, 4, 5, 37, 0) как свойство объекта numbers_duplicates.Значение каждого свойства должно быть тем числом, умноженным на два.(сначала создайте пустой объект перед тем, как начинать добавлять свойства и значения).

var numbers= [2, 4, 5, 37, 0]
var duplicate_numbers = {} 

// позже это должно быть так {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 );}

Как мне решить эту проблему?

Ответы [ 6 ]

2 голосов
/ 20 мая 2019

Вот, пожалуйста, приятель!

    let arr = [2, 4, 5, 37, 0];
    let obj = {};

    arr.forEach((x) => {
       obj[x] = x*2
    });
    
    console.log(obj);
1 голос
/ 20 мая 2019

Для получения или установки свойства объекта вы можете использовать обозначение в скобках .Вот версия с использованием написанного вами основного цикла for.

var numbers = [2, 4, 5, 37, 0];
var duplicate_numbers = {};

for (var i = 0; i < numbers.length; i++)
{
    duplicate_numbers[numbers[i]] = numbers[i] * 2;
}

console.log(duplicate_numbers);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}

Кроме того, вы также можете использовать Array.reduce () следующим образом:

var numbers = [2, 4, 5, 37, 0];

var duplicate_numbers = numbers.reduce((acc, n) => (acc[n] = 2 * n, acc), {});

console.log(duplicate_numbers);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
0 голосов
/ 20 мая 2019

Возможно, вы захотите рассмотреть карту.Это специальный объект, созданный именно для тех целей, которые вам нужны.Он имеет множество массивоподобных методов для работы с такими объектами.Пожалуйста, посмотрите Карта .

var numbers= [2, 4, 5, 37, 0];
var duplicate_numbers = new Map();
numbers.forEach((val)=> {
    duplicate_numbers.set(val, val*2);
})
0 голосов
/ 20 мая 2019
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;
}
0 голосов
/ 20 мая 2019

Для этого нужно использовать объект, объект состоит из ключа, пары значений.

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

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

0 голосов
/ 20 мая 2019

var numbers = [2, 4, 5, 37, 0];
var duplicate_numbers = {};

var result = numbers.forEach(num => {
  duplicate_numbers[num] = num * 2
});

console.log(duplicate_numbers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...