JavaScript 数组方法整理

上一篇文章中写了 map、foEach、filter 三种方法也属于数组的方法。

另外常用的方法整理:

some

判断数组是否至少有一个满足条件,一旦找到一个就立即停止并返回true,否则false,不会改变原素组。

let arr=[-1,0,3];
let result=arr.some(function(item){
    result item > 0;  //只要有符合条件的即为true
})
console.log(result);  true

还有一个经常类似用途的方法includes。

includes

查找数组中是否存在某个满足条件的,若存在返回true,不存在即返回false。

let arr=[1,2,3,4];
console.log(arr.includes(2));   //true
console.log(arr.includes(5));  // false

还有一个查找是否满足条件的,判断数组是否所有元素都满足条件,是就返回true,否则返回false。

every()
let arr=[1,2,3,4,5,6];
    console.log( arr.every((item)=>item % 2 == 0));//false
    console.log( arr.every((item)=>item > 0));//true
    console.log( arr.every((item)=>item > 2 ));//false

这四个放在一起写 在数组前添加unshift,在数组后添加 push,删除数组前的元素shift, 删除数组后的元素pop。

unshift

在数组前面添加一个或多个元素,并返回新数组

let arr=[-1,0,3];
arr.unshift(4);
console.log(arr); //4,-1,0,3
push

在数组最后添加一个或多个元素,并返回新数组。

let arr=[-1,0,3];
arr.push(4);
console.log(arr); //-1,0,3,4
shift

删除数组最前一个元素,并返回数组前面删除元素。

let arr=[1,2,3];
let arr2 = arr.shift();
console.log(arr); //[2,3]
console.log(arr2); //1
pop

删除数组最后一个元素,并返回数组末尾删除元素。

let arr=[1,2,3];
let arr2 = arr.pop();
console.log(arr); //[1,2]
console.log(arr2); //3
reverse

反转数组 (其实都懒得写这个。。。)。

let arr=[1,2,3]
arr.reverse();
console.log(arr);  //[3, 2, 1]
sort

排序

let arr=[1,5,2,8,0]
arr.sort((a,b) =>a-b)  //升序
console.log("升序", arr);   //升序  [0, 1, 2, 5, 8]

arr.sort((a,b) =>b-a);  //降序 
console.log("降序", arr);   //降序  [8, 5, 2, 1, 0]
concat
let arr1=["a","b","c"];
let arr2=[2,3,4];
let arr3=arr1.concat(arr2);
console.log(arr3);   // ["a","b","c",2,3,4]
indexOf

查找数组元素首次在数组中出现的索引,没找到返回-1。

let arr=["a","b","c","a"];
console.log(arr.indexOf("b"));   //1
console.log(arr.indexOf("d"));   //-1  不存在
console.log(arr.indexOf("a"));   //0 首次出现的位置
lastIndexOf

查找数组元素最后一次在数组中出现的索引,没找到返回-1。

var arr = [1,2,3,6,2,6,3,8,6];
console.log(arr.lastIndexOf(7))//-1  不存在
console.log(arr.lastIndexOf(6))//8 
join 、split

字符串转数组,数组转字符串。

let arr=[ 'h', 'a', 'ppy' ];
let result=arr.join("");  
console.log(result);  // happy

let str="happy";
let result=str.split("");  
console.log(result);  //[ 'h','a','p','p','y' ]
set

NAN、undefine、null都会被去重

注:正常情况下,NaN === NaN 返回的是false,但是在set里可以去重。

let arr=[1,2,3,3,4,4,5,'5',,,];
let s=new Set(arr);
console.log(s);  //set {1, 2, 3, 4, 5, '5',undefined,}
slice

剪切当前数组,并返回一个包含剪切值的新数组,不会改变原数组

let arr = [6, 4, 5, 3, 2, 7, 8, 1]
console.log(arr.slice()) //[6, 4, 5, 3, 2, 7, 8, 1]
console.log(arr.slice(5)) //[ 7, 8, 1 ]
console.log(arr.slice(-4)) //[ 2, 7, 8, 1 ]
console.log(arr.slice(-2)) //[  8, 1 ]
console.log(arr.slice(2, 5)) //[ 5, 3, 2 ]
console.log(arr.slice(5, 2)) //[]
console.log(arr.slice(2, -2)) //[ 5, 3, 2, 7 ]

常用的就这些 就先整理到这!

猜你喜欢

转载自blog.csdn.net/galaxyJING/article/details/129129761
今日推荐