array to object
//не хочу так
let obj={}
let[a,b]=['1','2']
obj.a=a
obj.b=b
//хочу компактно, как-то так
let obj={}
[obj.a,obj.b]=['1','2']
спасибо |
od0201,
а так?
let[a,b]=['1','2'];
let obj={a, b};
|
Цитата:
Почему расхотел вот так, без "статического" массива?
const obj = {
a: '1',
b: '2'
}
Допустим есть массив...
const a = ['1', '2']
// тогда
const obj = {
a: a[0],
b: a[1]
}
|
Пусть даже массив достаточно велик...
const a = ['1', '2', '3', '4', '5']
// тогда
const obj = ['a', 'b', 'c', 'd', 'f'].reduce((o, k, i) => (o[k] = a[i], o),{})
alert(JSON.stringify(obj))
|
Цитата:
let obj={};
[obj.a,obj.b]=['1','2'];
console.log(obj);
|
Цитата:
[res.descriptionMy,res.descriptionYour]=[...doc.querySelectorAll("table.text table.text2 div")].map(e=>e.textContent);
[res.name]=[...doc.querySelectorAll("title")].map(e=>e.textContent.split(":")[0]);
Цитата:
Всем спасибо, было познавательно. |
od0201, вообще у меня нет проектов где я бы не подключал сходу lodash, а потому проще это делать так:
let obj = zipObject(['a', 'b'], [1, 2]); |
Цитата:
Цитата:
const a = doc.querySelectorAll("table.text table.text2 div")
[res.descriptionMy,res.descriptionYour]=[...a].map(e=>e.textContent);
|
| Часовой пояс GMT +3, время: 14:47. |