javaScript数组互转对象
<h3 id="1数组转对象">1、数组转对象</h3><h4 id="11需求">1.1、需求</h4>
<blockquote 1:张三="" ,="" 2:李四="">
<p>[{ id: 1, name: '张三' },{ id: 2, name: '李四' }]<br>
转换为</p>
</blockquote>
<h4 id="12foreach">1.2、forEach</h4>
<pre><code class="language-javascript">let arr = [{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
let obj = {}
arr.forEach(item => obj = item.name)
console.dir(obj)
/*
Object
1: "张三"
2: "李四"
*/
</code></pre>
<h4 id="13reduce">1.3、reduce</h4>
<pre><code class="language-javascript">let arr = [{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
let obj = arr.reduce((obj, item) => ({...obj,: item.name}), {})
console.dir(obj)
/*
Object
1: "张三"
2: "李四"
*/
</code></pre>
<h3 id="2对象转数组">2、对象转数组</h3>
<h4 id="21需求">2.1、需求</h4>
<blockquote>
<p>{1:'张三', 2:'李四'}<br>
转换为<br>
[{ id: 1, name: '张三' },{ id: 2, name: '李四' }]</p>
</blockquote>
<h4 id="22forin">2.2、for...in</h4>
<pre><code class="language-javascript">let obj = {1:'张三', 2:'李四'}
let arr = []
for (let index in obj) {
arr.push({
'id': index,
'name': obj
})
}
console.dir(arr)
/*
Array(2)
0: {id: '1', name: '张三'}
1: {id: '2', name: '李四'}
length: 2
*/
</code></pre>
<h4 id="23map">2.3、map</h4>
<pre><code class="language-javascript">let obj = {1:'张三', 2:'李四'}
let arr = Object.keys(obj).map(index => ({ id: index, name: obj}))
console.dir(arr)
/*
Array(2)
0: {id: '1', name: '张三'}
1: {id: '2', name: '李四'}
length: 2
*/
</code></pre><br><br>
来源:https://www.cnblogs.com/pine007/p/16363288.html
頁:
[1]