JavaScript Array 数组方法汇总

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() 将数组进行排序,返回值是排好的数组,默认是按照最左边的数字进行排序,不是按照数字大小排序的

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]

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 --原数组

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,5

var 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]

3.arr.map(value,index,array) 映射数组(遍历数组),有return 返回一个新数组

 value --当前索引的值

 index --索引

 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)

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

var arr2 = arr.reduceRight((preValue,curValue)=>preValue + curValue,5)
console.log(arr2)    // 15

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() 在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组

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]

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() 判断数中是否包含给定的值

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

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]
}

原文地址:https://www.cnblogs.com/li923/p/11431216.html

时间: 2025-01-01 20:59:50

JavaScript Array 数组方法汇总的相关文章

javascript数组(Array)方法汇总

Array 对象属性 属性 描述 constructor 返回对创建此对象的数组函数的引用. length 设置或返回数组中元素的数目. prototype 使您有能力向对象添加属性和方法. Array 对象方法 方法 描述 concat() 连接两个或更多的数组,并返回结果. join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. pop() 删除并返回数组的最后一个元素 push() 向数组的末尾添加一个或更多元素,并返回新的长度. reverse() 颠倒数组中元素的

javascript Array 数组的迭代方法

javascript迭代的方法 //filter() 利用指定的函数确定是否返回数组中包涵的某一项 var num = [1,2,3,4,5,6,12]; num.filter(function(item, index, array){ return (item > 2); //[3, 4, 5, 6, 12] }); //map() 返回一个数组,数组中每一项都是在原始数组中的对应项上运行传入参数的结果 var num = [1,2,3,4,5,4,3,2,1]; num.map(functi

javascript Array数组详解 各种方法

1.数组的声明方法(1): arrayObj = new Array(); //创建一个数组.复制代码 代码如下: var arr1 = new Array(); (2):arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度.复制代码 代码如下: var a = new Array(5); (3):arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值.复

JavaScript常用数组方法

JavaScript数组方法有以下这些: forEach() 方法对数组的每一个元素执行一次提供的函数. map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变. filter() 方法使指定函数测试数组的每一个元素,并放回一个通过元素的新数组. some() 方法测试该数组有元素通过了指定函数的测试,如果有返回true,否则,返回false. every() 方法测试该数组是否全部通过指定函数测试,全部通过返回true,否则,返回false. Array.of() 方法创

Javascript中数组方法以及数组方法的扩展--基础篇

最近一直在努力的恶补javascript中的各种知识,比如说闭包,作用域,继承,构造函数,变量,内置对象等概念.同时,也在学习着ES6的新知识.最近想给大家分享的就是数组实例方法的练习以及如何去扩展一个数组方法. 以下的分享会分为如下内容 1.数组实例方法的练习 1.1:reduce() 1.2:map() 1.3:sort() 1.4:slice() 1.5:push() 1.6:实例方法习题 2.数组方法的扩展 1.数组实例方法的练习 首先,我们应该知道数组实例方法有哪些. console.

JavaScript——Array 数组对象

数组方法: 关于slice: 关于sort: >arrayObject.sort(方法函数) 方法函数:可选,规定排序顺序,必须是函数. 如果不指定<方法函数>,则按unicode码顺序排列: 如果指定<方法函数>,则按<方法函数>所指定的排序方法排序. >方法函数: 该函数要比较两个值,然后返回一个用于说明这两个值相对顺序的数字. 比较函数应该具有两个参数a,b,其返回值如下: 若返回值<=-1,则表示A在排序后的序列中出现在B之前. 若返回值>

数组方法汇总

1,javascript提供的原型方法有:join(),push(),pop(),shift(),unshift(),concat(),slice(),splice(),sort(),reverse() 1)join(separator):将数组以分隔符连接起来,返回连接后的字符串,默认以','分隔. var arr = [1,2,3]; arr.join(); //1,2,3 arr.join('-') //1-2-3 2)push()&pop() push():接收任意数量参数,并添加至数组

Javascript中数组方法汇总

Array.prototype中定义了很多操作数组的方法,下面介绍ECMAScript3中的一些方法: 1.Array.join()方法 该方法将数组中的元素都转化为字符串并按照指定符号连接到一起,返回最后生成的字符串,可以包含一个参数,为连接数组元素的符号,默认为逗号. var ay = [1,2,3]; ay.join(); // =>"1,2,3" ay.join("+"); // => "1+2+3" ay.join(&quo

JavaScript——数组(三)数组方法汇总

前面两篇大致介绍了一下数组的基本特性,这里说一下数组的常用方法: Array.join() 将数组中所有的元素都转化为字符串并拼接在一起,返回最后生成的字符串. 不改变原数组  可通过指定的分隔符来分隔各个元素,如果不指定分隔符,则默认使用逗号. 1 var arr = [1,2,3];//创建一个包含三个元素的数组 2 arr.join(); //"1,2,3" 3 arr.join(" "); //"1 2 3" 4 arr.join(&qu