前言
起源
- 对象数组与二维数据表相似
- 工作中大部分接触对象数组,很多时候都是在对对象数组进行操作以及对其中的数据进行处理
所用数据
不说明的情况,所用的数据一般指以下。
数据
1 | let student = [ |
数据含义说明
属性名称 | 中文含义 | 备注 |
---|---|---|
id | id | |
stuNo | 学号 | 8 位 |
name | 名字 | |
age | 年龄 | |
major | 专业 | |
isParty | 是否是党员 | 否:0,是:1 |
sex | 性别 | 男:0, 女:1 |
目录
根据 id 检索名字(id 唯一)
1 | const getName = (id, arr) => { |
普通截取
- 截取 1
1 | student.map(({ id, name }) => ({ id, name })); |
- 截取 2
1 | student.map(({ id }) => id); |
截取属性并去重
- 去重 1: 返回对象数组
1 | getUniqueArray(array, item){ |
- 去重 2: 返回一维数组
1 | [...new Set(student.map(({ sex }) => sex))]; |
过滤
- 比较运算符及逻辑运算:
= > < >= ,<=, !=,<> ,|| &&
- 比较运算符及逻辑运算:
1 | student.filter((item) => item.age > 20); |
- in 范围
查询学号为[20190601,20190614]
的数组
1 | let range = [20190601, 20190614]; |
- 模糊查询
查询名字为’张’的学生
1 | student.filter((item) => item.name.includes("张")); |
排序
- 升序
1 | /*------ 按年龄从小到大排序 ------ */ |
- 降序
1 | /*----- 按年龄从大到小排序 ------ */ |
插入数据
1 | [...student, ...newStudent]; |
操作对象数组
转为对象数组
数据如下
1 | let price = { |
具体操作
1 | let newPrice = []; |