ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
#### 1.reverse() 将数组的元素颠倒过来,也就是变成逆序,此方法会修改原数组 ~~~ var arr=[1,2,3,4,5]; console.log(arr.reverse());//5,4,3,2,1 console.log(arr);//5,4,3,2,1 ~~~ #### 2.sort() 默认对数组进行升序排序。此方法会修改原数组 ~~~ var arr=[5,4,3,2,1]; arr.sort(); console.log(arr);//1,2,3,4,5 ~~~ 如果数组中 存放的不是整数呢?假设数组中有字符串1,10,9,100那么最终的排序结果却是1,10,100,9。这是因为sort是按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。 ~~~ function compare(value1,value2){ return value1-value2; } } var arr=["1","10","9","100"]; arr.sort(compare); console.log(arr);//["1","9","10","100"] ~~~ 两个字符串数字相减会转化为整数,所以当value1小于value2时会返回负数,当value1大于value2时会返回正数,sort会根据这些不同的返回值来进行排序(在这里就是按照字符串的数字值来排序)。 #### 3.concat() 数组的拼接,创建当前数组的副本,将接收到的参数添加到这个副本中并返回新构建的数组 ~~~ var arr1=["black","white","red"]; var arr2=arr1.concat("blue"); console.log(arr2);//["black","white","red","blue"] ~~~ #### 4.slice() 可以把slice当作创建当前数组的子数组,它的参数代表数组的位置,当只有一个参数时,返回从该位置到数组末尾的子数组,当有两个参数时,返回起始位置到结束位置-1的子数组。 ~~~ var arr=["red","green","blue","yellow"]; var arr1=arr.slice(1); var arr2=arr.slice(1,3); console.log(arr1);//["green","blue","yellow"] console.log(arr2);//["green","blue"] ~~~ #### 5.splice() splice可以说是数组的所有方法中最强大的方法了,它既可以实现删除,也可以实现插入,还可以实现替换。它接受三个参数,要删除的第一项的位置,要删除的项数,要替换的新数据。 如果指定前两个参数就可以实现删除,如果指定三个参数并且第二个参数为0,就是实现了插入,如果指定了三个参数就实现了替换。 splice在原数组上进行修改,并返回删除的项。 ~~~ var arr=["red","green","blue","yellow"]; arr.splice(0,2);//删除数组中的前两项 console.log(arr);//["blue","yellow"] arr.splice(0,0,"red","green");//插入 console.log(arr);//["red","green","blue","yellow"] arr.splice(0,1,"black");//替换掉第一个元素 console.log(arr);//["black","green","blue","yellow"] ~~~ #### 6.indexOf()、lastIndexOf() 返回某个元素的位置,indexOf是从数组的开头查找,lastIndexOf是从后往前找 ~~~ var arr=[1,2,3,1,5]; console.log(arr.indexOf(1));//0 console.log(arr.lastIndexOf(1));//3 ~~~