JavaScript数组的API

24 篇文章 0 订阅
6 篇文章 0 订阅

目录

操作数组基本的方法

push

pop

shift

unshift

 splice

操作数组的高阶用法

reverse

toString

 join

 concat

 sort

对数组的每个元素执行一次的方法

forEach

map

filter

find

findIndex

some

every


操作数组基本的方法

push

        push():向数组的末尾添加一个或更多元素,并返回新的长度

 // 数组
let arr = [1, 2, 3, 4, 5]

let arrlength = arr.push(6)

console.log(arr) //结果 arr===> [1,2,3,4,5,6]

console.log( arrlength ) // 结果 length ===> 6

pop

        pop():删除并返回数组的最后一个元素

// 数组
let arr = [1, 2, 3, 4, 5]
let num = arr.pop()
console.log(arr)  //结果 arr===> [1,2,3,4,5,6]
console.log(num)    //结果 num===> 5
console.log(arr.length)    //结果 length===> 4

shift

           shift():删除并返回数组的第一个元素

// 数组
let arr = [1, 2, 3, 4, 5]
let num = arr.shift()
console.log(arr)  //结果 arr===> [ 2, 3, 4, 5 ]
console.log(num)    //结果 num===> 1
console.log(arr.length)    //结果 length===> 4

unshift

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

 // 数组
let arr = [1, 2, 3, 4, 5]

let arrlength = arr.unshift(6)

console.log(arr) //结果 arr===> [ 6, 1, 2, 3, 4, 5 ]

console.log( arrlength ) // 结果 length ===> 6

 splice

        splice():删除元素,并向数组添加新元素

        语法:

数组对象.splice(index,howmany,item1,.....,itemX)
参数描述
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany

必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, itemX可选。向数组添加的新项目。

        返回值:

        实例:

// 插入数据

let arr = [1, 2, 3, 4, 5]
let arrresult = arr.splice(2, 0, '我是被新放进来的数据')

console.log(arr)   //结果 arr ===> [ 1, 2, '我是被新放进来的数据', 3, 4, 5 ]
console.log(arr.length)     //结果 length ===> 6
console.log(arrresult)     // 返回的值 arrlength ===>  [] 

// 删除数据

let arr = [1, 2, 3, 4, 5]
let arrresult = arr.splice(0, 3)

console.log(arr)   //结果 arr ===> [ 4, 5 ]
console.log(arr.length)     //结果 length ===> 2
console.log('我是被删除的数据' +arrresult)// 返回的值 arrresult===>  我是被删除的数据1,2,3

 splice小拓展

        修改:

// 修改数据

let arr = [1, 2, 3, 4, 5]
let arrresult = arr.splice(1, 1, '我是被修改的数据哦')

console.log(arr)   //结果 arr ===> [ 1, '我是被修改的数据哦', 3, 4, 5 ]
console.log(arr.length)     //结果 length ===> 5

操作数组的高阶用法

reverse

        reverse(): 方法用于颠倒数组中元素的顺序。

// 数组
let arr = [1, 2, 3, 4, 5]

arr.reverse()

console.log(arr)   //结果 arr ===> [ 5, 4, 3, 2, 1 ]

        注释:该方法会改变原来的数组,而不会创建新的数组。

toString

        toString(): 方法可把数组转换为字符串,并返回结果。

// 数组
let arr = [1, 2, 3, 4, 5]

let arrstring = arr.toString()

console.log(arrstring)   //结果 arrstring ===> 1,2,3,4,5

 join

        join(): 方法用于把数组中的所有元素放入一个字符串。

                  元素是通过指定的分隔符进行分隔的。

        语法:

                 arrayObject.join(separator)

        separator :  可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

// 数组
let arr = [1, 2, 3, 4, 5]

let arrString = arr.join('!')

console.log(arrString)   //结果 arrString===> 1!2!3!4!5


 concat

        concat() 方法用于连接两个或多个数组。

                      该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

         语法:

arrayObject.concat(arrayX,arrayX,......,arrayX)

          arrayX:  必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

        实例:

// 数组
let arr = [1, 2, 3, 4, 5]
let brr = ['a', 'b', 'c', 'd', 'e']

console.log(arr.concat(brr))

// 结果 [ 1,   2,   3,   4,   5, 'a', 'b', 'c', 'd', 'e']

 sort

        sort() 方法用于对数组的元素进行排序。

       语法:

arrayObject.sort(sortby)

     sortby: 可选。规定排序顺序。必须是函数。

// 数组
let arr = [10, 9, 6, 7, 12, 51]
let a = arr.sort(function (a, b) {
  return b - a //从大到小 [ 51, 12, 10, 9, 7, 6 ]

  return a - b //从小到大 [ 6, 7, 9, 10, 12, 51 ]
})
console.log(a)

对数组的每个元素执行一次的方法

forEach

        forEach() 方法对数组的每个元素执行一次给定的函数。

        语法:

            arr.forEach(callback(currentValue [, index [, array]])[, thisArg])

callback 为数组中每个元素执行的函数,该函数接收一至三个参数:

currentValue 数组中正在处理的当前元素。

index 可选  数组中正在处理的当前元素的索引。

array 可选  forEach() 方法正在操作的数组。

thisArg 可选可选参数。当执行回调函数 callback 时,用作 this 的值

// 数组
let arr = ['a', ' b', 'c']

arr.forEach(function (array, index) {

  console.log('我是当前的元素:' + array, '我是index索引值:' + index)

})

// 结果: 
//   我是当前的元素:a 我是index索引值:0
//   我是当前的元素:b 我是index索引值:1
//   我是当前的元素:c 我是index索引值:2

        注意: forEach()不执行完毕不会停止,也不会被retrun停止    

        注意: forEach() 对于空数组是不会执行回调函数的


map

       map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

       语法:

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
  Return element for new_array 
}[, thisArg])

                                                        可选值和forEach相同

        实例:

// 数组
let arr = [1, 2, 3, 4, 5]

let arrMap = arr.map(function (array) {
  return array * 2 // 必须return 返回,否则数组的值为undefined
})

console.log(arrMap)   
// arrMap ===> [ 2, 4, 6, 8, 10 ]

filter

        filter(): 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 

                     只会接收  true  和  false    

                     返回值(return)为true就会收集当前的数组,为false并不会

        官方定义(返回值):

                     一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

        语法:

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

        实例:

// 数组
let arr = [1, 2, 3, 4, 5]

let arrfilter = arr.filter(function (array) {
  return array > 3 // 必须return 返回,否则数组的值为undefined
}) 
console.log(arrfilter)
// arrfilter===> [ 4, 5 ]

        注意: filter() 不会对空数组进行检测。

        注意: filter() 不会改变原始数组。


find

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

find() 方法为数组中的每个元素都调用一次函数执行:

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined

        语法:

arr.find(callback[, thisArg])   // 和foreach 语法相同

        实例:

// 数组
let arr = [1, 2, 3, 'c', 5, 6]

let arrfind = arr.find(function (array) {
  return array > 4 // 获取大于四的值  只收集第一个为true的元素
})
console.log(arrfind )
// arrfind ===> 5 (只收集第一个,他的值是第一个为true的值)

        注意: find() 对于空数组,函数是不会执行的。

        注意: find() 并没有改变数组的原始值。


findIndex

findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。

findIndex() 方法为数组中的每个元素都调用一次函数执行:

  • 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 -1

      语法:

arr.findIndex(callback[, thisArg])   // 和foreach 参数相同

       实例:

// 数组
let arr = [1, 2, 3, 'c', 5, 6]

let arrfindIndex = arr.findIndex(function (array) {
  return array > 4 // 获取大于四的值,只收集第一个为true元素的索引值
})
console.log(arrfindIndex)

// arrfindIndex ===> 4 (只收集第一个,他的值是第一个为true元素的索引值)

        注意: findIndex() 对于空数组,函数是不会执行的。

        注意: findIndex() 并没有改变数组的原始值。


some

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

some() 方法会依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  • 如果没有满足条件的元素,则返回false。

        语法:

array.some(function(currentValue,index,arr),thisValue) //和foreach参数相同

        实例:

// 数组
let arr = [1, 2, 3, 4, 5]

let arrsome = arr.some(function (array) {
  console.log(array)  // 输出结果 1  2  3  4   
  // 当 4 > 3 时他已经接收到了一个true,他就不会继续向下执行 
  return array > 3
})
console.log(arrsome)     // arrsome ===> true

        注意: some() 不会对空数组进行检测。

        注意: some() 不会改变原始数组。


every

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

           语法:

array.every(function(currentValue,index,arr),thisValue)//和foreach参数相同

           实例:

// 数组
let arr = [1, 2, 3, 4, 5]

let arrevery = arr.every(function (array) {
  console.log(array) // 1  因为第一个值就是false,所以就不会向下执行了
  return array > 3
})
console.log(arrevery) // arrevery ===> false

        注意: every() 不会对空数组进行检测。

        注意: every() 不会改变原始数组。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值