二、从后端请求到的列表数据,存在于对象数组中每个元素的不同属性对象中

这篇博客介绍了如何处理从后端请求到的对象数组数据,特别是当列表信息分布在不同属性对象中时。通过使用for...of循环、添加属性以及Array.push()方法,将数据整理到tableDataList列表中。博客还讨论了for in和for of循环的区别,以及如何向对象添加新属性和理解数组的push()方法。

Hello ~ 欢迎来到刘有钱的前端小窝 ❤

✍刘有钱的前端问题库


二、从后端请求到的列表数据,存在于对象数组中每个元素的不同属性对象中


🌰 整个样子康康
如图所示,列表数据大部分存在于material对象中,只有一条数据存在于inventory对象中



1.用 for…of 遍历对象数组,拿到数组中的每个对象元素
2.向每一个 material 对象中添加 inventory 属性
3.将每一个 material 对象用 push() 方法添加到 tableDataList 列表数据中

	for (let item of res.rows) {
        item.material['inboundType'] = item.inventory.inboundType
        this.tableDataList.push(item.material)
    }

完美撒花✧(≖ ◡ ≖✿)

继续完善知识点☍

⭐For In 循环与 For Of 循环 :
1.for in 语句循环遍历对象的属性,属性值为 obj [k]。
如果索引顺序很重要,请不要在数组上使用 for in。
索引顺序依赖于实现,可能不会按照您期望的顺序访问数组值。 当顺序很重要时,最好使用 for 循环、for of 循环或 Array.forEach()。
2.for of 语句循环遍历可迭代对象的值。它允许您循环遍历可迭代的数据结构,例如数组、字符串、映射、节点列表等。

以上摘自官网,太官方了简单来说就是用 for in 遍历对象,用 for of 遍历数组、字符串等。因为 for in 可能按照随机顺序遍历数组元素。

⭐向已存在的对象添加新属性

 let obj = {}
 obj.fairy = '刘有钱'  // 方法一 
 obj['sunflower'] = '太阳花'  // 方法二
 console.log(obj);  // {fairy: '刘有钱', sunflower: '太阳花'} 

⭐数组的 push() 方法
push() 方法:在数组结尾处向数组添加一个或多个新的元素,此方法会改变原数组。
参数直接写要添加的数组元素。
push() 方法返回新数组的长度。

 let arr = [{ a: 1 },{ b: 2 },{ c: 3 },]
 let x = arr.push({ d: 4 }, { e: 5 })  // 做了一步操作,一定会有返回值。用 x接收并打印 push()方法的返回值
 console.log(x);  // push()方法返回新数组的长度  5 
 console.log(arr);  //原数组也有一个返回值,返回新数组 [{ a: 1 },{ b: 2 },{ c: 3 },{ d: 4 }, { e: 5 }] 

总结

pink老师讲过,学习数组方法一定要明白:
① 这个方法是干什么的呀
② 有没有参数呀,如果有,参数要怎么写呀
③ 该方法的返回值是什么呀
④ 改不改变原数组呀
把用到过的数组方法都搞清楚
努力成为一个很哇塞的前端开发工程师✧(≖ ◡ ≖✿)

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值