JS 数组 常用方法

一、数组

1、function(value, index, array) {}

【格式:】

function (value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    // ... 自定义函数行为
    // return ...;
}

2、Array.map(function() {})

  返回值:一个新数组。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并作为一个新数组 返回,不会改变原来的数组(除非主动修改原数组的值)。

【举例:给数组中的每个元素值加 6,并生成一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.map((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return array[index] += 6;
});
console.log(newArr);   // 输出 [7, 8, 9, 10, 11]
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [7, 8, 9, 10, 11]
console.log(newArr);  // 输出 [7, 8, 9, 10, 11]

3、Array.forEach(function() {})

  返回值:undefined,即没有返回值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,返回 undefined(没有返回值),不会改变原来的数组(除非主动修改原数组的值)。
  注:
    与 map 方法的区别在于 没有返回值。

【举例:给数组中的每个元素值加 6,不会生成一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.forEach((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return array[index] += 6;
});
console.log(newArr);   // 输出 undefined
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [7, 8, 9, 10, 11]
console.log(newArr);  // 输出 undefined

4、Array.filter(function() {})

  返回值:返回一个新数组。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,过滤原数组,并返回一个新数组,不会改变原来的数组(除非主动修改原数组的值)。
  注:
    与 map 方法的区别在于 返回的是一个过滤后的数组。

【举例:过滤数组中 大于 3 的数据,并作为一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.filter((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newArr);   // 输出 [4, 5]
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 [4, 5]

5、Array.every(function() {})

  返回值:一个 布尔值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并返回一个布尔值,不会改变原来的数组(除非主动修改原数组的值)。若返回值为 true,则表示 数组每个元素均满足 function。否则,返回值为 false。
  注:
    与 map 方法的区别在于 其返回的是一个 布尔值。

【举例:比较数组的每个值,若值均大于 3,则返回 true,否则返回 false】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.every((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newArr);   // 输出 false
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 false

6、Array.some(function() {})

  返回值:一个 布尔值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并返回一个布尔值,不会改变原来的数组(除非主动修改原数组的值)。若返回值为 true,则表示 数组每个元素有部分满足 function。返回值为 false,则表示数组每个元素 均不满足 function。
  注:
    与 map 方法的区别在于 其返回的是一个 布尔值。

【举例:比较数组的每个值,若部分值大于 3,则返回 true,若值全小于 3,则返回 false】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.some((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newArr);   // 输出 true
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 true

7、Array.push(data)

  返回值:当前数组的长度。会改变原数组。
  简单理解为:向数组的末尾添加一个数据,并返回添加后的数组长度。

【举例:向数组末尾添加一个数据,并返回添加后的数组长度】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.push(1);
console.log(newArr);   // 输出 6
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5, 1]
console.log(newArr);  // 输出 6

8、Array.pop()

  返回值:当前删除的数据。会改变原数组。
  简单理解为:从数组的末尾删除最后一个数据,并返回删除后的数组数据。

【举例:从数组末尾删除最后一个数据,并返回当前删除的数据】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.pop();
console.log(newArr);   // 输出 5
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4]
console.log(newArr);  // 输出 5

9、Array.shift()

  返回值:当前删除的数据。会改变原数组。
  简单理解为:从数组的头部删除第一个数据,并返回删除后的数组数据。

【举例:删除数组头部的第一个元素,并返回该值】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.shift();
console.log(newArr);   // 输出 1
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [2, 3, 4, 5]
console.log(newArr);  // 输出 1

10、Array.unshift(data1, data2)

  返回值:当前数组的长度,会改变原数组。
  简单理解为:将一些数据添加到数组的头部。

【举例:将 1, 2, 4 添加到数组的头部】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.unshift(1, 2, 4);
console.log(newArr);   // 输出 8
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 4, 1, 2, 3, 4, 5]
console.log(newArr);  // 输出 8

11、Array.concat(Array)

  返回值:一个新的数组。不会改变原数组(除非主动修改)。
  简单理解为:两个数组拼接成一个数组。

【举例:两数组拼接,返回一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.concat([1, 2, 3, 4, 5]);
console.log(newArr);   // 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

12、Array.toString()

  返回值:一个字符串。不会改变原数组(除非主动修改)。
  简单理解为:将当前数组转为字符串输出,不改变原数组。

【举例:将数组转为字符串,不改变原数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.toString();
console.log(newArr);   // 输出 1, 2, 3, 4, 5
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 1, 2, 3, 4, 5

13、Array.join()

  返回值:一个字符串。不会改变原数组(除非主动修改)。
  简单理解为:将当前数组转为字符串输出,不改变原数组。
  注:
    与 toString 方法的区别在于,可以自定义数据间连接的符号(默认以逗号分隔)。

【举例:将数组转为字符串,并以 * 分隔】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newArr = arr.join(‘*‘);
console.log(newArr);   // 输出 1*2*3*4*5
console.log(arr === newArr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newArr);  // 输出 1*2*3*4*5

14、Array.splice(开始位置(必须), 删除个数(必须), 新元素...(可选))

  返回值:一个新数组(删除的元素组成的数组)。会改变原数组。
  简单理解为:对数组进行增、删、改。
    若当前方法参数只有两个必须项,没有新元素,则进行的是删除操作。

【举例:对数组元素进行增删改】

【举例:对数组元素进行增删改】

let arr = [1, 2, 3, 4, 5];
console.log(arr);       // 输出 [1, 2, 3, 4, 5]
// 在数组下标为 2 的地方,新增 2 个元素,未进行删除操作,返回 []
let arr1 = arr.splice(2, 0, 7, 8);
console.log(arr);       // 输出 [1, 2, 7, 8, 3, 4, 5]
console.log(arr1);      // []

// 在数组下标为 2 的地方,删除 3 个元素,进行删除操作,返回删除的数组
let arr2 = arr.splice(2, 3)
console.log(arr);        // 输出 [1, 2, 4, 5]
console.log(arr2);        // 输出 [7, 8, 3]

// 在数组下标为 2 的地方,删除 1 个元素,并新增 2 个元素,返回删除的数组
let arr3 = arr.splice(2, 1, 8, 6);
console.log(arr);        // 输出 [1, 2, 8, 6, 5]
console.log(arr3);        // 输出 [4]

原文地址:https://www.cnblogs.com/l-y-h/p/12150578.html

时间: 2024-10-21 23:39:07

JS 数组 常用方法的相关文章

js数组常用方法,含es5

(1)基本的数组方法 1.join() Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串.可以自己指定分隔的符号,如果不指定,默认使用逗号 var arr = [1,2,3]; console.log(arr.join());//"1,2,3" console.log(arr.join("-"));//"1-2-3" var a = new Array(10); //长度为10的空数组 组成下边字符串

js数组——js数组常用方法整理

  1.数组的创建 var arrayObj = new Array(); //创建一个数组   var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度   var arrayObj = new Array([element0],[element1],[ ...],[elementN]); //创建一个数组并赋值 2.数组的元素的访问和给数组元素赋值 var testGetArrValue=arrayObj[1]; //获取数组的元素

JS数组常用方法

// 来自 http://www.runoob.com/jsref/jsref-obj-array.html var arr01 = [ "fuc" , "shit" , "assho" ]; var arr02 = [ 1 , 2 , 3 ]; // 以下多数省略前半部分的对象名(arr01) var temp = arr01.join("and")    //  将数组内所有元素转换为一个字符串 , 可指定分隔符 conc

js 数组常用方法说明

1 //push 向数组最后添加一项 2 var arr = ['one', 'two', 'three']; 3 arr.push("four"); 4 console.log(arr);//["one", "two", "three", "four"] 5 6 //pop 移除数组中最后一个元素 7 var arr2 = [1, 2, 3]; 8 arr2.pop(); 9 console.log(ar

js数组常用方法总结

最近工作中经常用到数组操作,每次都傻傻不知道怎么用,今天有时间整理了一下,希望对大家有帮助!这些基础的知识,要熟记于心. 1. join() 功能:将数组中所有元素都转化为字符串并连接在一起. 输入: 分隔符,默认为逗号 输出:分隔符分割的字符串 1 var a = [1,2,3]; 2 a.join(); // =>"1,2,3" 3 a.join(";");// =>"1;2;3" 2. reverse() 功能:将数组中的元素颠

优化 JS 条件语句及JS 数组常用方法, ---- 看完绝对对日后开发有用

前言: 日常所说的优化优化.最后我们到底优化了哪些,不如让我们从代码质量开始:个人觉得简洁简化代码其实觉得存在感挺强烈的QAQ 1. 获取URL中 ?后的携带参数: 这是我见过最简洁的了,若有更简洁的请及时留言并附上代码怼我 // 获取URL的查询参数 let params={} location.search.replace(/([^?&=]+)=([^&]+)/g, (_,k,v) => parmas[k] = v); cosnole.log(params) // ?a=b&am

js数组操作常用方法(转自:http://www.jbxue.com/article/js/20224.html)

js数组操作常用方法,包括数组的创建.数组的元素的访问.数组元素的删除.数组的拷贝等. 原文参考自:http://www.jbxue.com/article/js/20224.html 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽.记录下来.1.数组的创建 var arr

js数组、字符串常用方法

Posted on 2016-01-08 23:19 _银弹 阅读(486) 评论(0) 编辑 收藏 常常在开发中,会使用到很多js数组和字符串的处理方法,这里列举一些常用到的一些,方便大家参考使用. 数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3]; console.log(arr); var b = arr.push(4); console.log(b); console.log(arr); // [1, 2, 3] // 4 //表示当前数

js数组去重常用方法

js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定,元素中既有基本数据类型,也有引用数据类型,形式如[{name:1,age:2}];这里介绍两种常见的js去重方式. 方法一:针对数组字符串形式(利用set) let arr = [1,2,3,4,5,4,3,2,1]; let set = new Set(); arr.forEach((item)=