孔晓泉货拉拉 發表於 2022-6-10 15:07:00

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 =&gt; 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) =&gt; ({...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 =&gt; ({ 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]
查看完整版本: javaScript数组互转对象