js--数组转对象和对象转数组,2.21

博客链接指向一篇关于JS中数组转对象和对象转数组的文章,涉及JavaScript在数据结构转换方面的内容,属于前端开发信息技术领域。
### 数组对象 - **使用`reduce`方法**:可以将数组每个对象的特定属性分别作为对象的键值。示例代码如下: ```javascript const arr = [{ label: '男', value: 0 }, { label: '女', value: 1 }]; let res = arr.reduce((result, item) => { return { ...result, [item.value]: item.label }; }, {}); console.log(res); ``` 此代码通过`reduce`方法将数组`arr`换为对象,其中数组元素的`value`属性作为对象的键,`label`属性作为对象的值[^2]。 - **使用`Object.fromEntries`方法**:当数组元素是包含两个元素的子数组时,可使用该方法将其换为对象。示例代码如下: ```javascript const arr = [['a', 1], ['b', 2], ['c', 3]]; const obj = Object.fromEntries(arr); console.log(obj); // {a: 1, b: 2, c: 3} ``` 此代码使用`Object.fromEntries`方法将数组`arr`换为对象子数组的第一个元素作为对象的键,第二个元素作为对象的值[^3]。 - **使用`forEach`方法**:遍历数组,将数组元素的索引值分别作为对象的键值。示例代码如下: ```javascript const arr = [1, 2, 3, 4, 5]; let obj = {}; arr.forEach((item, index) => { obj[index] = item; }); console.log(obj); // {0: 1, 1: 2, 2: 3, 3: 4, 4: 5} ``` 此代码通过`forEach`方法将数组`arr`换为对象数组元素的索引作为对象的键,元素值作为对象的值[^3]。 ### 对象数组 - **使用`Object.entries`方法**:将对象的键值对换为包含两个元素的子数组组成的数组。示例代码如下: ```javascript const obj = { a: 1, b: 2, c: 3 }; const arr = Object.entries(obj); console.log(arr); // [['a', 1], ['b', 2], ['c', 3]] ``` 此代码使用`Object.entries`方法将对象`obj`换为数组对象的键值对换为子数组子数组的第一个元素是键,第二个元素是值[^3]。 - **使用`Object.keys``forEach`方法**:通过`Object.keys`获取对象的键,再使用`forEach`遍历键,将键对应的值组合成对象添加到数组中。示例代码如下: ```javascript const obj = { 0: '男', 1: '女' }; function f(obj) { const arr = []; Object.keys(obj).forEach(item => { arr.push({ label: obj[item], value: item }); }); return arr; } console.log(f(obj)); ``` 此代码先使用`Object.keys`获取对象`obj`的键,再通过`forEach`遍历这些键,将键对应的值组合成新对象添加到数组中,最终返回换后的数组[^2]。 - **对象数组对象**:可以将对象的属性扩展到一个对象中,并添加到数组里。示例代码如下: ```javascript let obj = { id: 1, name: "aaa", age: 18 }; let arr = []; arr.push({ ...obj }); console.log(arr); // [{id: 1, name: "aaa", age: 18}] ``` 此代码将对象`obj`的属性扩展到一个对象中,并添加到数组`arr`中,实现对象数组对象[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值