⏰ 未知时间
25060801
1. 简单需求
1.1 将数组倒序排列
- 利用
reverse()
,会改变原数组
js
const arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // 输出: [5, 4, 3, 2, 1]
1.2 提取数组每一项的属性值,形成新数组
js
const originalArray = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 28 }
];
// 提取所有 name 属性值
const names = originalArray.map(item => item.name);
console.log(names); // 输出: ['Alice', 'Bob', 'Charlie']
// 提取所有 age 属性值
const ages = originalArray.map(item => item.age);
console.log(ages); // 输出: [25, 30, 28]
1.3 数组去重
js
const arr = [1, 2, 2, 3, 'a', 'a'];
const unique = [...new Set(arr)];
// 结果: [1, 2, 3, 'a']
2. 多维数组
2.1 将多维数组转为一维数组
js
const reArrange = (data, list=[]) => {
data.forEach((item) => {
if (item.children && item.children.length > 0) {
reArrange(item.children, list);
} else {
list.push(item);
}
});
return list;
};
js
// 重组数据函数
const reArrange = (data, list=[]) => { // 设置list的起始值,因为内部会再次调用函数,必须存在list变量
// 利用 forEach 遍历数据
data.forEach((item) => {
// 当数据中存在子代时,会再次执行,遍历子代数据,直到找到末端数据
if (item.children && item.children.length > 0) {
reArrange(item.children, list);
// 没有子代,直接生成新的数组内容
} else {
list.push(item);
}
});
return list;
};