数组方法

1.数组末尾追加  push

let arr = [12,34,26];

arr.push(100); //返回一个新的长度 

arr.length=4

console.log(arr)//结果为 [12,34,26,100]

2.数组末尾删除 pop

let arr = [108,112,39,10];

arr.pop();//删除的最后一项为10

console.log(arr);//[108, 112, 39]

3.数组截取  slice

//两个参数
slice(参数1,参数2);

参数1:从何处开始选取(截取数组单元起始位置的索引下标)
参数2:从何处结束选取(截取数组单元结束位置的索引下标)

let arr = [1,2,3,4,5,6,7,8,9];

let newArr = arr.slice(2,4)     新数组data结果为: [3, 4]   

前包后不包

//一个参数时

let arr = [1,2,3,4,5,6,7,8,9];

let newArr = arr.slice(2)     新数组data结果为: [3,4,5,6,7,8,9]   

4.数组增删改 splice

//增加
arr.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面

  let arr = [33,44,55,66,77,88];

  arr.splice(2,0,'a','b')

  console.log(arr);// [33, 44, "a", "b", 55, 66, 77, 88]

 //修改
arr.splice(n,x,m)从索引n开始删除x个,m替换删除的部分

把原有内容删除掉,然后用新内容替换掉

  let arr = [33,44,55,66,77,88];

  arr.splice(1,2,'x','y')

 let newArr =
arr.splice(1,2,'x','y')
console.log(arr);// [33, "x", "y", 66, 77, 88]
console.log(newArr) // ['44','55']    返回值为被删除的字符串

 5.数组转为字符串 join()

用指定的分隔符将数组每一项拼接为字符串

参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)

返回值:拼接好的字符串

是否改变原数组:不改变

let arr = [1,2,3];

console.log(arr.join(','));//  1,2,3
console.log(arr.toString());//  1,2,3
 

6. 查找出现的位置 indexOf ()

检测当前值在数组中第一次出现的位置索引

参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回-1

是否改变原数组:不改变

let arr = ['a','b','c','d','e','a','f'];   

console.log(arr.indexOf('c'));//2

console.log(arr.indexOf('a',3))//5

console.log(arr.indexOf('g'))// -1

7. 排序 sort()

对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)

参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序

返回值:排序后新数组

是否改变原数组:改变

let arr = [32,44,23,54,90,12,9]; 

arr.sort(function(a,b){        

    // return a-b;  // 结果[9, 12, 23, 32, 44, 54, 90]   从小到大

    // return b-a;  // 结果[90, 54, 44, 32, 23, 12, 9]   从大到小
})  

console.log(arr); 
//对象数组排序
var arr = [

 {name:'syy', age:0},

 {name:'wxy', age:18},

 {name:'slj', age:8},

 {name:'wj', age:20}

];

 

// 排序方法

function compare(property) {//property:根据什么属性排序

 return function(a,b){

  var value1 = a[property];

  var value2 = b[property];

  /*

  * value2 - value1; ——> 降序

  * value1 - value2; ——> 升序

  */

  return value1 - value2;//升序排序

 }

}

 

// 打印排序后的数组

console.log(arr.sort(compare('age')))

/*

0: {name: "syy", age: 0}

1: {name: "slj", age: 8}

2: {name: "wxy", age: 18}

3: {name: "wj", age: 20}

*/

8. 倒叙  reverse()

把数组倒过来排列

参数:无

返回值:倒序后新数组

是否改变原数组:改变

let arr = [6,8,10,12]; 

console.log(arr.reverse());//[12, 10, 8, 6]

 9. 判断是否为数组

let arr = []
let obj = {}
console.log(arr instanceof Array);  //true
console.log(obj instanceof Array);  //false

console.log(Array.isArray(arr));    //true
console.log(Array.isArray(obj));    //false

 10. 函数累加器

const array1 = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
constsumWithInitial = array1.reduce(
  (previousValue, currentValue) => previousValue + currentValue,
  initialValue
);

console.log(sumWithInitial); 

//https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#%E5%B0%9D%E8%AF%95%E4%B8%80%E4%B8%8B

 

posted @ 2022-04-13 17:11  小成-  阅读(29)  评论(0)    收藏  举报