zewo
zewo

Reputation: 31

converting array to object where array values are the object keys and object values are empty

I'm working on a reactjs web app I have an array like

let arr = ["name","message", etc...];

I want to convert it to object but to look like

let desired = { name:'', message:'' };

I tried a few things but none of them worked.

Upvotes: 0

Views: 48

Answers (3)

Saurabh Agrawal
Saurabh Agrawal

Reputation: 7739

Try this:

let arr = ["name","message", "etc"];
let desired = {};
for (let i = 0; i < arr.length; i++) {
    desired[arr[i]] = "";
}
console.log(desired);

Upvotes: 1

kyun
kyun

Reputation: 10274

You can also use forEach()

let arr = ['name', 'type', 'id', 'phone'];
let obj = {};
arr.forEach(i=>{obj[i] = ''});

console.log(obj);

Upvotes: 0

Jack Bashford
Jack Bashford

Reputation: 44135

If you just want to assign each value in the array the value of an empty string, use reduce:

let arr = ["name","message", "etc"];
let desired = arr.reduce((acc, curr) => (acc[curr] = "", acc), {});
console.log(desired);
.as-console-wrapper { max-height: 100% !important; top: auto; }

ES5 syntax:

var arr = ["name","message", "etc"];
var desired = arr.reduce(function(acc, curr) {
  acc[curr] = "";
  return acc;
}, {});
console.log(desired);
.as-console-wrapper { max-height: 100% !important; top: auto; }

Upvotes: 3

Related Questions