查找单项数据
let ids1 = [1,2,3,4,5,6,7,8,9]
let ids2 = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let _ids1 = ids1.find(item => item === 1)
let _ids2 = ids2.find(item => item.id === 1)
console.log(_ids1) // 1
console.log(_ids2) // {id:1,name:'a'}
查询数据集合
let ids1 = [1,2,3,4,5,6,7,8,9]
let ids2 = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let _ids1 = ids1.filter(item => item > 1)
let _ids2 = ids2.filter(item => item.id > 1)
console.log(_ids1) // [1,2,3,4,5,6,7,8,9]
console.log(_ids2) // [{id:2,name:'b'},{id:3,name:'c'}]
数组类是否存在某一项
// 简单类型
let ids1 = [1,2,3,4,5,6,7,8,9]
let fnd = ids1.find(item => item === 1) // 1 返回该项
let fix = ids1.findIndex(item => item === 1) // 0 返回下标
let idf = ids1.indexOf(1) // 0 返回下标
let ics = ids1.includes(1) // true 返回布尔
let fil = ids1.filter(item => item === 1).length // 1 返回个数
let sme = ids1.some(item => item === 1) // true 返回布尔
// 复杂类型
let ids2 = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let fnd = ids2.find(item => item.id === 1) //{id:1,name:'a'} 返回该项
let fix = ids2.findIndex(item => item.id === 1) // 0 返回下标
let fil = ids2.filter(item => item.id === 1).length // 1 返回个数
let sme = ids2.some(item => item.id === 1) // true 返回布尔
删除数组
let ids1 = [1,2,3,4,5,6,7,8,9]
let ids2 = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let _ids1 = ids1.filter(item => item !== 1)
let _ids2 = ids2.filter(item => item.id !== 1)
console.log(_ids1) // [2,3,4,5,6,7,8,9]
console.log(_ids2) // [{id:2,name:'b'},{id:3,name:'c'}]
// splice略过
数据合并
// 多数组合并
let ids1 = [1,2,3]
let ids2 = [4,5,6]
let arr1 = ids1.concat(ids2) // [1,2,3,4,5,6]
let arr2 = [...ids1, ...ids2] // [1,2,3,4,5,6]
// 深度合并
let ids1 = [1,2,3,[4,5,6]]
let arr1 = ids1.flat() // [1,2,3,4,5,6]
修改数据
// 原数组每一项 * 2
let ids1 = [1,2,3,4,5,6]
let arr1 = ids1.map(item => item * 2)
let arr2 = Array.from(ids1, item => item * 2)
ids1.forEach((item,i) => ids1[i] = item * 2)
判断数组中条件成立的个数
let ids1 = [1,2,3,4,5,6]
let ids2 = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]
let arr1 = ids1.filter(item => item > 4).length
let arr2 = ids2.filter(item => item.id > 4).length
数组每一项是否都符合要求
let ids1 = [1,2,3,4,5,6]
let arr = ids1.every(item => item > 1) // false
数组求和
let ids1 = [1,2,3,4,5,6]
let arr = ids1.reduce((a,b) => a + b) // 21
数组去重
let ids = [1,1,2,3,3,2,1,6]
let arr1 = [...new Set(ids)]
let arr2 = Array.from(new Set(ids))
let arr3 = ids.filter((item,index,arr) => arr.indexOf(item, 0) === index)
let arr4 = ids.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
数组交集
let ids1 = [1,2,3,4,5,6]
let ids2 = [2,3,4,6,7,8,9]
let arr = ids1.filter(item => ids2.includes(item))
数组差集
let ids1 = [1,2,3,4,5,6]
let ids2 = [2,3,4,6,7,8,9]
let arr = [...ids1,...ids2].filter(item => !ids2.includes(item) || !ids1.includes(item))
结构赋值
let a = { b: 'b', c: 'c', d: 'd' }
let { c, d, e = 20 } = a
console.log(c,d,e) // c, d, 20
浅拷贝
let arr = [1,2,3,4,5,6]
let axin = { a:1,b:2,c:3 }
let arr1 = [...arr]
let axin1 = [...axin]
let axin2 = Object.assign({},axin)
今天临时整理的,以后定期更新。请忽略我的随机命名法。