JS 数组,对象常用方法 集合
数组
1.数组去重: 主要是使用的 new Set() 方法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set
// 两个方法 主要是使用到new Set() let repeatArr = [1,2,3,4,1,2,3,4];
let reasult = [...new Set(repeatArr)] //方法一
let reasult2 = Array.from(new Set(repeatArr)) // 方法二 console.log(repeatArr,reasult,reasult2)
2.替换数组指定位置元素 (splice) ,当然 splice 可以进行的不仅仅是替换,这个方法可以 增加 、删除、替换
// 使用splice 时 需要注意 它会改变原数组,并返回给你的是 你需要 删除 替换 的元素,增加则是返回空数组 /* 一共三个参数
参数一:代表你要开始的位置 (index值) 必填
参数二:代表你需要影响的元素个数 必填 注释:1、代表你开始位置(包含),之后往后数,需要影响的元素个数 (如果没有第三个元素,则是删除,否则是替换) 2、如果为0 则是不影响任何原有元素(如果没有第三个元素,则是不改变,否则是增加) 数三:代表你是否需要新的元素 注释:后面可接多个 */ let spliceArr = ['hello','world',1,2,3]; let result = spliceArr.splice(2,1,'崽种') let result2 = spliceArr.splice(3,0,'嘻嘻','哈哈') let result3 = spliceArr.splice(3,0) console.log(spliceArr,result,result2,result3)
3.数组转换为对象 这个主要是用到扩展运算符
// 将数组转换为对象 主要是用到扩展运算符(...) // 数组转换出来的对象 key值为数组的index值 value值为数组的元素 let changeArr = ['hello','!','world']; let changeToObj = {...changeArr}; console.log(changeToObj);
4.合并数组 (concat 方法 || 扩展运算符方法)
// 合并数组 (concat 方法 || 扩展运算符方法) let concatArr = [0, 1, 2] let concatArr2 = [3, 4, 's'] let concatArr3 = [5] let result = concatArr.concat(concatArr2, concatArr3) //concat 数组自带的合并方法 let result2 = [...concatArr, ...concatArr2, ...concatArr3] //扩展运算符方法合并数组
console.log(result, result2)
5.求两个数组的交集
// 求两个数组的交集(即两个数组的重复部分) // 注意需要去重, filter里面用来判断部分 可写 arr2.include() {includes 只返回 true 或 false}
let arr = [0, 2, 4, 6, 8, 8] let arr2 = [1, 2, 3, 4, 5, 6, 8, 8, 2] let result = [...new Set(arr)].filter(item => arr2.indexOf(item) >= 0) let result2 = [...new Set(arr)].filter(item => arr2.includes(item)) console.log(result,result2)
6.过滤数组中的虚值 使用数组的过滤方法
何谓虚值:false,0,' ',null,NaN,undefined 这些都是虚值
// 过滤数组中的虚值 使用数组的过滤方法 何谓虚值:false,0,' ',null,NaN,undefined 这些都是虚值 let arr = [0,'',NaN,undefined,1,1,NaN] let result = arr.filter(Boolean) console.log(result);
7.数组 排序 (sort)
// 数组排序 (sort 方法) let arr = [1, 2, 8598, 21, 8974, 12, 963, 125, 10] let result = arr.sort((a, b) => a - b) //升序 let result = arr.sort((a, b) => b - a) //降序 console.log(result)