首页 技术 正文
技术 2022年11月11日
0 收藏 305 点赞 4,581 浏览 5880 个字

JavaScript Array 数组方法汇总

1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度

var arr = [1,2,3,4,5]
console.log(arr.push(5)) // 6
console.log(arr) // [1,2,3,4,5,5]

2.arr.unshift() 从前面添加元素,

var arr = [1,2,3,4,5]
console.log(arr.unshift(2)) // 6
console.log(arr) //[2,1,2,3,4,5]

3.arr.shift() 从前面删除元素,只能删除一个 返回值是删除的元素

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

4.arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素

var arr = [1,2,3,4,5]
console.log(arr.pop()) // 5
console.log(arr) //[1,2,3,4]
var arr = [1,2,3,4,5]
console.log(arr.splice(2,2)) //[3,4]
console.log(arr) // [1,2,5]

6.arr.concat() 连接两个数组 返回值为连接后的新数组

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

7.str.split() 将字符串转化为数组

var str = '123456'
console.log(str.split('')) // ["1", "2", "3", "4", "5", "6"]

8.arr.sort() 将数组进行排序,返回值是排好的数组,默认是按照最左边的数字进行排序,不是按照数字大小排序的

JavaScript Array 数组方法汇总

var arr = [2,10,6,1,4,22,3]
console.log(arr.sort()) // [1, 10, 2, 22, 3, 4, 6]
var arr1 = arr.sort((a, b) =>a - b)
console.log(arr1) // [1, 2, 3, 4, 6, 10, 22]
var arr2 = arr.sort((a, b) =>b-a)
console.log(arr2) // [22, 10, 6, 4, 3, 2, 1]

JavaScript Array 数组方法汇总9.arr.reverse() 将数组反转,返回值是反转后的数组

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

10.arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组

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

11.arr.lastIndexOf()   和arr.indexOf()的功能一样,不同的是从后往前查找

var arr = [1,2,3,4,5,2]
var arr1 = arr.lastIndexOf(2)
console.log(arr1) // 5
let arr2 = arr.lastIndexOf(9)
console.log(arr2) // -1

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

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join())

13.arr.toSource() 方法表示对象的源代码

function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
document.write(bill.toSource());

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

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.toString())

15.arr.toLocaleString()把数组转换为本地字符串

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.toLocaleString())

16.arr.valueOf() 方法返回 Array 对象的原始值。。

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中

ES5新增

1. arr.indexOf() 查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1

var arr = [1,2,3,4,5,2]
var arr1 = arr.indexOf(2)
console.log(arr1) // 1
var arr2 = arr.indexOf(9)
console.log(arr2) // -1

2. arr.forEach(value,index,array遍历数组,无return value –当前索引的值 index –索引 array –原数组

JavaScript Array 数组方法汇总

var arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>{
console.log(`value:${value} index:${index} array:${array}`)
})
// value:1 index:0 array:1,2,3,4,5
// value:2 index:1 array:1,2,3,4,5
// value:3 index:2 array:1,2,3,4,5
// value:4 index:3 array:1,2,3,4,5
// value:5 index:4 array:1,2,3,4,5var arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>{
value = value * 2
console.log(`value:${value} index:${index} array:${array}`)
})
console.log(arr)
// value:2 index:0 array:1,2,3,4,5
// value:4 index:1 array:1,2,3,4,5
// value:6 index:2 array:1,2,3,4,5
// value:8 index:3 array:1,2,3,4,5
// value:10 index:4 array:1,2,3,4,5
// [1, 2, 3, 4, 5]

JavaScript Array 数组方法汇总3.arr.map(value,index,array) 映射数组(遍历数组),有return 返回一个新数组 value –当前索引的值 index –索引 array –原数组

JavaScript Array 数组方法汇总

var arr = [1,2,3,4,5]
arr.map( (value,index,array)=>{
value = value * 2
console.log(`value:${value} index:${index} array:${array}`)
})
console.log(arr)

JavaScript Array 数组方法汇总

ps: arr.forEach()和arr.map()的区别 
    1. arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
    2. arr.forEach() 没有return  arr.map() 有return

4. arr.filter(callback) 过滤数组,返回一个满足要求的数组

var arr = [1,2,3,4,5]
var arr1 = arr.filter( (i, v) => i < 3)
console.log(arr1) // [1, 2]

5.arr.every(value,index,array) 依据判断条件,数组的元素是否全满足,若满足则返回ture

var arr = [1,2,3,4,5]
var arr1 = arr.every( (i, v) => i < 3)
console.log(arr1) // false
var arr2 = arr.every( (i, v) => i < 10)
console.log(arr2) // true

6. arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture

var arr = [1,2,3,4,5]
var arr1 = arr.some( (i, v) => i < 3)
console.log(arr1) // true
var arr2 = arr.some( (i, v) => i > 10)
console.log(arr2) // false

7. arr.reduce() 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值

var arr = [0,1,2,3,4]
var arr1 = arr.reduce((preValue, curValue) =>
preValue + curValue
)
console.log(arr1) // 10
var arr2 = arr.reduce((preValue,curValue)=>preValue + curValue,5)
console.log(arr2) // 15

8. arr.reduceRight() 与arr.reduce()功能一样,不同的是,reduceRight()从数组的末尾向前将数组中的数组项做累加。

var arr = [0,1,2,3,4]
var arr1 = arr.reduceRight((preValue, curValue) =>
preValue + curValue
)
console.log(arr1) // 10

JavaScript Array 数组方法汇总

var arr2 = arr.reduceRight((preValue,curValue)=>preValue + curValue,5)
console.log(arr2) // 15
JavaScript Array 数组方法汇总

  

ES6新增数组

1. Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组

var str = '12345'
console.log(Array.from(str)) // ["1", "2", "3", "4", "5"]
vsr obj = {0:'a',1:'b',length:2}
console.log(Array.from(obj)) // ["a", "b"]

2. Array.of() 将一组值转换成数组,类似于声明数组

var str = '11'
console.log(Array.of(str)) // ['11']

等价于

console.log(new Array('11'))  // ['11]

但是new Array()有缺点,就是参数问题引起的重载

console.log(new Array(2))   //[empty × 2]  是个空数组
console.log(Array.of(2)) // [2]

3. arr.copyWithin() 在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组JavaScript Array 数组方法汇总

var arr = [1,2,3,4,5,6,7]
var arr1 = arr.copyWithin(1)
console.log(arr1) // [1, 1, 2, 3, 4, 5, 6]
var arr2 = arr.copyWithin(1,2)
console.log(arr2) // [1, 3, 4, 5, 6, 7, 7]
var arr3 = arr.copyWithin(1,2,4)
console.log(arr3) // [1, 3, 4, 4, 5, 6, 7]

JavaScript Array 数组方法汇总4. arr.find() 找到第一个符合条件的数组成员

var arr = [1,2,3,4,5,2,4]
var arr1 = arr.find((value, index, array) =>value > 2)
console.log(arr1) // 3

5. arr.findIndex() 找到第一个符合条件的数组成员的索引值

var arr = [1,2,3,4,5]
var arr1 = arr.findIndex((value, index, array) => value > 3)
console.log(arr1) // 3

6. arr.fill(target, start, end) 使用给定的值,填充一个数组,ps:填充完后会改变原数组 target — 待填充的元素 start — 开始填充的位置-索引 end — 终止填充的位置-索引(不包括该位置)

按 Ctrl+C 复制代码按 Ctrl+C 复制代码7. arr.includes() 判断数中是否包含给定的值

JavaScript Array 数组方法汇总

var arr = [1,2,3,4,5]
var arr1 = arr.includes(2)
console.log(arr1) // ture
var arr2 = arr.includes(9)
console.log(arr2) // false
var arr3 = [1,2,3,NaN].includes(NaN)
console.log(arr3) // true

JavaScript Array 数组方法汇总ps:与indexOf()的区别:1 indexOf()返回的是数值,而includes()返回的是布尔值2 indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断8. arr.keys() 遍历数组的键名

var arr = [1,2,3,4]
var arr2 = arr.keys()
for (var key of arr2) {
console.log(key); // 0,1,2,3
}

9.arr.values() 遍历数组键值

var arr = [1,2,3,4]
var arr1 = arr.values()
for (var val of arr1) {
console.log(val); // 1,2,3,4
}

10. arr.entries() 遍历数组的键名和键值  返回迭代数组  迭代数组中每个值 前一个是索引值作为 key, 数组后一个值作为 value

var arr = [1,2,3,4]
var arr1 = arr.entries()
for (var e of arr1) {
console.log(e); // [0,1] [1,2] [2,3] [3,4]
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289