js数组常用方法

js数组常用方法

1. Array.push()

向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。

let arr = ["a","b","c"]
arr.push("d")
console.log(arr)  // ["a","b","c","d"]

2. Array.pop()

删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。

let arr = [1,2,3,4]
let last = arr.pop()
console.log(arr,last) // [1,2,3] 4

3. Array.unshift()

向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。

let arr = [1,2,3]
let length = arr.unshift(0)
console.log(arr,length) // [0,1,2,3] 4

4. Array.shift()

删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。

let arr = [1,2,3,4]
let first = arr.shift()
console.log(arr,first) // [2,3,4] 1

5. Array.concat(arr1,arr2…)

合并两个或多个数组,生成一个新的数组。原数组不变。

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

6. Array.join()

将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。

let arr = [1,2,3]
let str1 = arr.join()
let str2 = arr.join('-')
conosle.log(str1,str2) // 1,2,3 1-2-3

7. Array.reverse()

将数组倒序。原数组改变。

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

8. Array.sort()

对数组元素进行排序。按照字符串UniCode码排序,原数组改变。

arr = [2,1,3]
strArr = [{name:"zhangsan",age:18},{name:"lisi",age:17},{name:"wangwu",age:19}]
let comparator1 = function(a,b){
    return a - b
}
arr.sort(comparator1) // [1,2,3]
let comparator2 = function(a,b){
    return b - a
}
arr.sort(comparator2) // [3,2,1]
function compare(param){
    return function sortAge(a,b){
        return a[param] - b[param]
    }
}
arr.sort(compare("age"))

9. Array.some()

对数组中的每一项进行判断,若都不符合则返回false,否则返回true。

let arr = [1,2,3]
console.log(arr.some(e => e > 2)) //true

10. Array.every()

对数组中的每一项进行判断,若都符合则返回true,否则返回false。

let arr = [1,2,3]
console.log(arr.every(e => e > 2)) // false

11. Array.reduce()

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的

let numbers = [65, 44, 12, 4];
function getSum(total, num) {
    return total + num;
}
console.log(numbers.reduce(getSum)) // 125

12. Array.filter()

过滤数组中,符合条件的元素并返回一个新的数组。

let arr = [1,2,3]
console.log(arr.filter( e => e < 3)) // [1,2]

13. Array.forEach()

用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(若直接打印Array.forEach,结果为undefined)

let sum = 0
let arr = [1,2,3]
arr.forEach(e => sum += e)
console.log(sum) // 6

14. Array.map()

返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。原数组不变。

let numbers = [4,9,16]
console.log(numbers.map(Math.sqrt)) // [2,3,4]

15. Array.slice(start,end)

从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后

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

16. Array.splice(index,howmany,arr1,arr2…)

删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。howmany为0时,则不删除元素。原数组改变。

let fruits = ["Banana", "Orange", "Apple", "Mango"];
// 在位置 2,添加 2 个元素,删除 1 个元素:
fruits.splice(2, 1, "Lemon", "Kiwi");
console.log(fruits) // [Banana,Orange,Lemon,Kiwi,Mango]

17. Array.isArray

判断一个对象是不是数组,返回的是布尔值

18. Array.toString()

将数组转化为字符串

数组去重

function unique1(arr) {
 	return [new Set(arr)]
}
function unique2(arr) {
    var obj = {};
    return arr.filter(ele => {
        if (!obj[ele]) {
            obj[ele] = true;
            return true;
        }
    })
}
function unique3(arr) {
    var result = [];
    arr.forEach(ele => {
        if (result.indexOf(ele) == -1) {
            result.push(ele)
        }
    })
    return result;
}

输入一个值并返回其数据类型

function dataType(para) {
	 return Object.prototype.toString.call(para)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值