数组-知识总结


title: 数组-知识总结
date: 2023-05-8 19:30:00
categories: 知识总结
tags: 数组


数组方法总结大全

toString()

把数组转换为字符串用逗号分割

    let  arr = ['zhansna','lisi','wangwu']
    console.log(arr.toString()) // 'zhansna,lisi,wangwu'

join()

将数组转换为字符串默认值是逗号分割,根据入参分割

     let  arr = ['zhansna','lisi','wangwu']
    console.log(arr.join('*')) // 'zhansna*lisi*wangwu'

pop()

删除数组最后一个元素,改变原数组,返回被删除数组

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    let x = fruits.pop();
    console.log(fruits) // ['Banana', 'Orange', 'Apple']
    console.log(x) // "Mango"

push()

在数组末尾新添加一个元素,返回数组的长度

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x =  fruits.push("Kiwi");
console.log(fruits) // ["Banana", "Orange", "Apple", "Mango","Kiwi"]
console.log(x) //  x 的值是 5

数组排序

sort()

数组排序

    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return a - b});
        console.log(points) // [1, 5, 10, 25, 40, 100]
    var points = [40, 100, 1, 5, 25, 10];
    points.sort(function(a, b){return b - a});
        console.log(points) // [100, 40, 25, 10, 5, 1]

reverse()

数组反转

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();         // 反转元素顺序
    console.log(fruits) // ['Mango', 'Apple', 'Orange', 'Banana']

Math.max()

查找最大值

    let arr =[1,2,3,4]
    Math.max.apply(null,arr) // 4

Math.min()

查找最小值

    let arr =[1,2,3,4]
    Math.min.apply(null,arr) // 1

数组遍历方法

forEach()

    let arr = [1,2,3]
    arr.forEach((value,index,arr) =>{
        console.log(value,index,arr)
    })

map()

遍历数组根据 return 生成新的数组

    let arr = [1,2,3]
    arr.map((value,index,arr) =>{
        return value*2
    })

filter()

遍历数组,return 为 true 的情况下返回当前项组成新的数组

    let arr = [1,2,3]
    arr.map((value,index,arr) =>{
        // 当为true的情况下回返回 value 组成新的数组
        return value > 2
    })

reduce()

数组迭代器,遍历数组 返回值作为入参,最后的返回值输出

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce((total, value, index, array)=>{
    // total 初次为arr[0] value为arr[1]
    // 第二次进来为之前return的值 value为接下来的值
    console.log(total, value, index, array)
    // 45 4 1  [45, 4, 9, 16, 25]
    // 49 9 2  [45, 4, 9, 16, 25]
    // 58 16 3  [45, 4, 9, 16, 25]
    // 74 25 4  [45, 4, 9, 16, 25]
    return total + value
});
console.log(sum) // 99

every()

数组检查所有数组值是否通过检测,不是所有项都为 true 的话为 false


var numbers = [45, 4, 9, 16, 25];

let a = numbers.every((item) => {
    return item>18
    } )
console.log(a) // false

some()

数组遍历,如果有一项满足为 true 则返回 true


var numbers = [45, 4, 9, 16, 25];

let a = numbers.some((item) => {
    return item>18
    } )
console.log(a) // true

indexOf()

在数组中查找有返回下标没有返回-1

var fruits = ["Apple", "Orange", "Apple", "Mango"];
console.log(fruits.indexOf("ac")) // -1

find()

查找返回满足的第一个元素没有返回 undefined

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(item => item>100);
console.log(first) // undefined
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容