js数组方法笔记

2023-12-18 00:18:11

1.push() 在数组最后一位添加一个或多个元素,返回值为新的数组长度

 var arr = [1, 2, "c"];
    var rel = arr.push("A", "B");
    console.log(arr); // [1, 2, "c", "A", "B"]
    console.log(rel); //  5  (数组长度)

2.unshift() 在数组第一位添加一个或多个元素,并返回新的数组长度

 var arr = [1, 2, "c"];
    var rel = arr.unshift("A", "B");
    console.log(arr); // [ "A", "B",1, 2, "c"]
    console.log(rel); //  5  (数组长度)

3.pop() 删除数组的最后一位,并返回所删除的元素

   var arr = [1, 2, "c"];
    var rel = arr.pop();
    console.log(arr); // [1, 2]
    console.log(rel); // c

4.shift() 删除数组第一位,并返回当前被删除的元素

    var arr = ["a","b", "c"];
    var rel = arr.shift();
    console.log(arr); // ['b', "c"]
    console.log(rel); // a

5.reverse() 反转数组,并返回新的数组

  var arr = [1, 2, 3, "a", "b", "c"];
    var rel = arr.reverse();
    console.log(arr); //    ["c", "b", "a", 3, 2, 1]
    console.log(rel); //    ["c", "b", "a", 3, 2, 1]

sort() 数组排序 ,默认根据字符串unicode码排序,会直接改变数组

  var arr1 = [10, 1, 5, 2, 3];
  //默认排序
  arr1.sort();
  //从小到大 a - b > 0  a 会被排列到 b 之前
  arr1.sort((a,b)=>{return a - b})
  //从大到小
  arr1.sort((a,b)=>{return b - a})
  //对象数组排序
    var arr1 = [
      { name: "老八", age: "38" },
      { name: "赵日天", age: "28" },
      { name: "龙傲天", age: "48" },
    ];
    arr1.sort(function (a, b) {
      console.log(a, b);
      return b.age - a.age;
    });
    console.log(arr1);

7.splice() 添加或删除或替换数组元素,并返回当前被删除的元素

用法:array.splice(start,deleteCount,item…)

//替换元素
var a=['a','b','c'];
var b=a.splice(1,1,'e','f');    //a=['a','e','f','c'],b=['b']
//删除元素
var arr1 = [1,3,5,7,9,11];
var arrRemoved = arr1.splice(0,2);
console.log(arr1);   // [5,7,9,11]
console.log(arrRemoved);   // [1,3]
//添加元素
var arr1 = [22,3,31,12];
arr1.splice(1,0,12,35);
console.log(arr1);   // [22,12,35,3,31,12]

8.concat 用于连接两个或多个数组

var arr1 = [1,3,5,7];
var arrCopy = arr1.concat(9,[11,13]);
console.log(arrCopy);   // [1,3,5,7,9,11,13]
console.log(arr1);   // [1,3,5,7](原数组未被修改)

9.slice截取数组

array.slice(start,end)

10. forEach() 遍历数组,无返回值

11.map 遍历数组,并返回一个新的数组

12.some 判断数组中时候存在满足条件的项,返回值为boolean类型

var arr1 = [1,2,3,4,5];
var arr2 = arr1.some(x => {
     return x < 3;
});
console.log(arr2);   // true

var arr3 = arr1.some(x => {
     return x < 1;
});
console.log(arr3);   // false

13 reduce,reduceRight 迭代数组的所有项,累加器

var arr1 = [1,2,3,4,5];
var sum = arr1.reduce((prev,cur,index,array) => {
     return prev + cur;
},10);   // 数组一开始加了一个初始值10,可以不设默认0
console.log(sum);   // 25

14 .toLocaleString()和toString() 将数组转换为字符串

var arr1 = [22,3,31,12];
let str = arr1.toLocaleString();
var str2 = arr1.toString();

console.log(str);   // 22,3,31,12
console.log(str2);   // 22,3,31,12

15find 返回匹配的第一个元素的值,无则返回undefined

16.findIndex 返回第一个匹配的元素的下标

17.entries()、keys()和values()

keys()是对键名的遍历、values()是对键值的遍历、entries()是对键值对的遍历

for(let index of [a,b].keys()){
     console.log(index);
}
// 0
// 1

for(let elem of [a,b].values()){
     console.log(elem);
}
// a
// b

for(let [index,elem] of [a,b].entries()){
     console.log(index,elem);
}
// 0 'a'
// 1 'b'

18 indexOf 可以在字符串和数组上使用

返回某个指定的字符串值(基本数据类型)在字符串、数组中首次出现的位置

19 includes 返回值为布尔类型,判断字符串或数组是否包含指定的值

20 join 转换为字符串,默认为‘,’号,可指定连接字符

文章来源:https://blog.csdn.net/liyaodong1234/article/details/134985892
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。