数组常用方法
var arr = ['a', 'b', 'c']
1. pop()
语法: 数组.pop();
作用: 删除数组的最后一个成员
返回值: 被删除的数组成员
会改变原数组
var res = arr.pop();
console.log(res) // 'c' 删除的元素作为返回值
console.log(arr) // ["a", "b"]
数组的扁平化
const arr = [1, 2, 3, 4, { name: '张三' }, [5, 6, 7, 8, { name: '李四' }, [9, 10, 11, 12, { name: '王五' }]]]
1. 面试版
封装
function flat(origin) {
const newArr = []
function fn(fnOrigin) {
fnOrigin.forEach((item) => {
if (Object.prototype.toString.call(item) === '[object Array]') {
fn(item)
} else {
newArr.push(item)
}
})
}
fn(origin)
return newArr
}
const flatArr = flat(arr)
console.log(flatArr)
简写
const newArr = []
function fn(fnOrigin) {
fnOrigin.forEach(item => {
if (Object.prototype.toString.call(item) === '[object Array]') {
fn(item)
} else {
newArr.push(item)
}
});
return newArr
}
const result=fn(arr)
console.log(result);
2. 工作版
arr.flat(Infinity)
console.log(arr)
console.log(arr.flat(1))
console.log(arr.flat(2))
console.log(arr.flat(Infinity))
