Как добавить свойства к объекту из массива? - PullRequest
0 голосов
/ 30 марта 2019

Проблема JavaScript, над которой я работаю, выглядит следующим образом:

"Вы получаете массив, возможный для ввода. Используя цикл for, создайте объект divByThree, чтобы каждый ключ был элементом возможного элемента, которыйделится на три. Значение каждого ключа должно быть индексом массива, при котором этот ключ может быть найден в возможном элементе. "

Я понимаю, как добавить свойства из объекта в массив, но наоборотсбивает с толку.Мне удалось создать новый массив и выдвинуть элементы, которые делятся на три, и теперь я застрял в том, как превратить эти элементы в свойства для объекта divByThree, а также получить ключи объекта как числа.

Iключи объекта мысли не могут быть числами ...

const possibleIterable = [4, 3, 9, 6, 23];
const divByThree = {};
// ADD CODE HERE
let arr = [];
for (let i = 0; i < possibleIterable.length; i++) {
   if (possibleIterable[i] % 3 === 0){
     arr.push(possibleIterable[i])
   }
};

console.log(arr)

Результатами из показанного кода являются [3, 9, 6], и я хочу получить для divByThree запись в консоль {3:1, 6: 3, 9: 2}

Ответы [ 2 ]

0 голосов
/ 30 марта 2019

Вы почти там, вам нужно добавить значения к объекту вместо массива

const possibleIterable = [4, 3, 9, 6, 23];
const divByThree = {};
for (let i = 0; i < possibleIterable.length; i++) {
   if (possibleIterable[i] % 3 === 0){
     divByThree[possibleIterable[i]] = i
   }
};

console.log(divByThree)
0 голосов
/ 30 марта 2019

Он просит вас построить объект из ввода, а не из массива, поэтому просто используйте обычные скобочные обозначения, например obj[val] = i вместо push:

const possibleIterable = [4, 3, 9, 6, 23];
const obj = {};
for (let i = 0; i < possibleIterable.length; i++) {
  const val = possibleIterable[i];
  if (val % 3 === 0) {
    obj[val] = i;
  }
}
console.log(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...