Array常用的内置对象

98 阅读3分钟

「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」。

1.数组的增:

(1).arr.push():

写法:arr.push(新增的内容,新增的内容。。。) 添加到数组的末尾

(2).arr.unshift():

写法:arr.unshift(新增的内容,新增的内容,新增的内容。。。) 添加到数组的开头

2.数组的删:

(1).arr.pop():

删除最后一个

(2).arr.shift():

删除第一个

(3).arr.splice():

删除指定的

写法:arr.splice(操作的下标,删除的个数(包含操作的下标))

注意:如果只写第一个操作的下标,它就会从改下标开始(包含该下标),将后面的数据都删除

3.切割字符串 slice(开始切割的元素下标,切到哪个元素的下标);

注意:包左不包右( slice[))

//例如:
  arr = [1,2,3,4,5]
        const a = arr.slice(1,3)
        console.log(arr); //arr = [1,2,3,4,5]
        console.log(a);  //arr = [2,3]
        
  1. arr.join(分隔符): 拼接(将数组里面的元素按照分隔符连成字符串)
const arr1 = [1,2,3]
        const a = arr1.join(',')
        const b = arr1.join('')
        console.log(a);//1,2,3
        console.log(b);//123
        console.log(arr1);//[1,2,3]

注意:不会改变原数组

  1. arr.reverse():翻转数组
        const arr1 = [1,2,3,4,5]
        const a = arr1.reverse()
        console.log(arr1);//[5, 4, 3, 2, 1]
        console.log(a);//[5, 4, 3, 2, 1]

注意:会改变原数组

  1. arr.sort():数组排序 写法:arr.sort(Function(a,b) {return a-b(从小到大)}) 如果不写默认从小到大,字母会按照字母的顺序a-z排
         const arr1 = [4,3,7,2,1]
        const arr2 = ["c","d","a"]
        const a = arr1.sort()
        const b = arr2.sort()
        console.log(arr1);//[1, 2, 3, 4, 7]
        console.log(arr2);//["a", "c", "d"]
        console.log(a);//[1, 2, 3, 4, 7]
        console.log(b); //["a", "c", "d"]

注意:会改变原数组

  1. arr.indexOf():数组去重(去除重复元素,通过判断元素下标的方式)
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
  1. forEach:数组遍历

(1).遍历次数等于数组长度

(2).本身无返回值,不需要接收返回

6.获取数组下标:

(1)和indexOf相似,不过index不可以获取对象的

(2)有元素,返回元素下标,没元素,返回-1

(3)return true:找到了,循环结束,返回当前下标

(4)return false:没找到,返回默认值-1

9.every:判断数组中是否所有元素都满足条件

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

都满足条件返回true,有一个不满足返回false

10.reduce:方法在每个数组元素上运行函数,以生成(减少它)单个值。

写法:数组名.reduce((sum,value,index)=>{},初始值)

var numbers = [45, 4, 9, 16, 25];
var sum = numbers.reduce(myFunction);

document.getElementById("demo").innerHTML = "总和是:" + sum;

function myFunction(total, value, index, array) {
  return total + value;
}

(1)sum,上一次返回的结果,默认初始值为第一个值

(2)value当前元素的值,index 当前元素的下标

(3)初始值一般默认为0,如果不给初始值,空数组reduce会报错

(4)返回值:最后一次回调的结果。

11.filter:满足符合条件的所有元素,放入新数组中

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

document.getElementById("demo").innerHTML = over18;

function myFunction(value, index, array) {
  return value > 18;
}

12.concat:合并(连接)数组

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

13.arr.map():方法通过对每个数组元素执行函数来创建新数组。

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

document.getElementById("demo").innerHTML = numbers2;

function myFunction(value, index, array) {
  return value * 2;
}

14.some():方法检查某些数组值是否通过了测试。

var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}
//结果返回true