js数组的方法总结

数组的方法总结

concat()

concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

let arr1 = [1,2,3];
    let arr2 = [4,5,6];
    console.log(arr1.concat(arr2));//[1,2,3,4,5,6]
    console.log(arr1);//[1,2,3,]
    console.log(arr2);//[4,5,6]

 join()

join()用于将数组中的所有的元素放入到一个字符串内,并以指定的字符进行分割,并返回。

let arr = new Array()
arr[0] = '123'
arr[1] = '456'
arr[2] = '789'
let str = arr.join();
console.log(str)//123,456,789
// 使用字符串";"分割数组的元素
let str1 = arr.join(';')
console.log(str1)//123;456;789

pop()

pop()用于删除 arrayObject 的最后一个元素,把数组长度减一,并返回删除元素的值。果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']
 console.log(arr.pop())//wangwu
 console.log(arr)//['zhangsan', 'lisi']
 

shift()

shift()用于把数组的第一个元素从其中删除,并返回第一个元素的值。

var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']
 console.log(arr.shift())//zhangsan
 console.log(arr)// ['lisi', 'wangwu']
 

unshift()

unshift()用于向数组的开头添加一个或更多元素,并返回新的长度。

var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']
 console.log(arr.unshift(123))//4
 console.log(arr)//  [123, 'zhangsan', 'lisi', 'wangwu']
 

push()

push() 用于把它的参数顺序添加到数组的尾部。

var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']
 console.log(arr.push(123))//4
 console.log(arr)//  [ 'zhangsan', 'lisi', 'wangwu',123]
 

reverse()

reverse()方法将数组中元素的位置颠倒。

var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']]
 console.log(arr.reverse())// ['wangwu', 'lisi', 'zhangsan']

slice()

slice()用于截取指定位置的数组。

 var arr = new Array(3)
 arr[0] = "zhangsan"
 arr[1] = "lisi"
 arr[2] = "wangwu"

 console.log(arr)// ['zhangsan', 'lisi', 'wangwu']]
 console.log(arr.slice(2))// ['wangwu']

sort()

sort()用于数组排序。

var arr = [817,717,1412,621]
 //没有函数参数,按字符编码格式排序
 console.log(arr.sort())//[1412, 621, 717, 817]
 // 需要升序或者降序则需要传入一个函数参数
 console.log(arr.sort(function(a,b){
    return a - b
 }))//[621, 717, 817, 1412]
 //降序
 console.log(arr.sort(function(a,b){
    return b - a
 }))//[1412, 817, 717, 621]

splice()

splice()用于方法用于添加或删除数组中的元素,会改变原数组。

//删除
 var arr =['zhangsan', 'lisi', 'wangwu']
 //从0开始,删除2个
 console.log(arr.splice(0,2))//['zhangsan', 'lisi']
 console.log(arr)//['wangwu']
//添加
 var arr =['zhangsan', 'lisi', 'wangwu']
 //从2开始,删除0个,添加"kid"
 console.log(arr.splice(2,0,"kid"))//[]
 console.log(arr)//['zhangsan', 'lisi', 'kid', 'wangwu']

toString()

toString()用于根据所传递的参数把数值转换为对应进制的数字字符串。

var arr = 17;
 console.log(arr.toString(2));//10001
 console.log(arr.toString(4));//101
 console.log(arr.toString(16));//11

valueOf()

valueOf()用于返回数组对象的原始值。

//语法
arrayObject.valueOf()

indexOf()

indexOf()用于判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1。

var arr = [1, 2, 3, 2];
console.log(arr.indexOf(2));//1
console.log(arr.indexOf(4));//-1

lastIndexOf()

indexOf()和lastIndexOf()语法是一样的,但查找的顺序相反,indexOf是从前往后查,而lastIndexOf是从后往前查。

var arr = [1, 2, 3, 2];
console.log(arr.lastIndexOf(2));//3
console.log(arr.lastIndexOf(4));//-1

forEach()

forEach()用于对数组的每个元素执行一次提供的函数。

var arr = ['a', 'b', 'c'];

arr.forEach(function(element) {
  console.log(element);
});//a b c

map()

map()用于返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。

let arr = [1, 2, 3, 4, 5];
let newArr = arr.map((item) => {
    return item * item;
})
console.log(newArr)  // [1, 4, 9, 16, 25]

filter()

filter()用于对数组进行过滤,创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
let res = nums.filter((num) => {
  return num > 5;
});
 
console.log(res);  // [6, 7, 8, 9, 10]

every()

every()用于检测数组中的所有元素是否都满足指定条件,如果有有一项不满足条件,则表达式返回false,剩余的项将不会再执行检测;如果遍历完数组后,每一项都符合条,则返回true。不会改变原始数组。

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
let res = arr.every((arr) => {
   return arr > 5;
 });
 console.log(res);  // false
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
let res = arr.every((arr) => {
   return arr > 0;
 });
 console.log(res);  // true
 

some()

some()用于检测数组中的元素是否满足指定条件。

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
let res = arr.some((arr) => {
   return arr > 5;
 });
 console.log(res);  // true
 
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
let res = arr.some((arr) => {
   return arr > 11;
 });
 console.log(res);  // false

reduce()

reduce()用于遍历数组中的每一个元素,每遍历一次就会执行一次回调函数。当遍历完之后会将最后的结果返回出去。

 const arr=[1,2,3,4,5]
    const newarr=arr.reduce((previousValue,current)=>{ 
        console.log(previousValue+'-----'+current);
        //结果为:
		//1-----2
		//3-----3
		//6-----4
		//10-----5
        return previousValue + current // 求和运用
    });
    console.log(newarr); //输出 15

reduceRight()

reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。

 const arr=[1,2,3,4,5]
    const newarr=arr.reduceRight((previousValue,current)=>{ 
        console.log(previousValue+'-----'+current);
        //结果为:
		//5-----4
		//9-----3
		//12-----2
		//14-----1
        return previousValue + current // 求和运用
    });
    console.log(newarr); //输出 15
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值