Как я могу переключить массив в массив в объекте в JavasScript? - PullRequest
1 голос
/ 04 апреля 2019

Я работаю над небольшим проектом, но застрял в одной части.

Вот код.

[empty, "Please enter a House", empty × 3, "Please enter a House"]

Итак, в массиве шесть элементов, и «Пожалуйста, введите дом», которые являются первым, а пятый индекс - это часть, которую я хочу изменить следующим образом.

    houseManagement: [
        1: { fieldName : "Please enter a House" },
        5: { fieldName : "Please enter a House" }
   ]

Как сделать так, чтобы свойство houseManagement получало значение индекса в виде массива, содержащего объекты?

Ответы [ 4 ]

2 голосов
/ 04 апреля 2019

Вы можете присвоить данный массив объекту после сопоставления требуемого свойства.

var array = [, "Please enter a House", , , , "Please enter a House"],
    object = Object.assign({}, array.map(fieldName  => ({ fieldName  })));

console.log(object);
0 голосов
/ 04 апреля 2019

Полагаю, вам нужен массив объектов.Вы можете игнорировать код до

f=a.map(..

, так как у вас уже есть массив.

a= [];
a.length = 5;
a[1] = "please";
a[4] = "please";
f = a.map((e,i) => {if(e){
console.log(i)
let obj={};
obj[i] = {'fieldName':e};
return obj}}).filter(e => e);
console.log('ANSWER:', f);
0 голосов
/ 04 апреля 2019

let array = [, "Please enter a House", , , , "Please enter a House"],
  obj = Object.assign({}, [...array.filter(item => item).map(fieldName => ({ fieldName }))]);

console.log(obj);
0 голосов
/ 04 апреля 2019

Вы можете использовать спред оператора,

var array = [, "Please enter a House", , , , "Please enter a House"],
var result = {...array}

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