飞翔的鱼 飞翔的鱼
首页
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • HTML
  • CSS
  • stylus
  • 常用
  • 实战
  • 实用网站
  • 资源库
  • Vue专区
关于
  • css效果
  • js效果
  • 拥抱生活
  • 生活知道
GitHub (opens new window)

Wang

飞翔的鱼
首页
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • HTML
  • CSS
  • stylus
  • 常用
  • 实战
  • 实用网站
  • 资源库
  • Vue专区
关于
  • css效果
  • js效果
  • 拥抱生活
  • 生活知道
GitHub (opens new window)
  • 常用

    • 数组常用方法
      • 数组常用的方法
        • 1. for of循环
        • 2. forEach
        • 3. map
        • 4. filter
        • 5. find和findIndex
        • 6. some和every
        • 7. indexOf
        • 8. concat
        • 9. join
        • 10. reverse
        • 11. slice
        • 12. splice
        • 13. sort
        • 14. toString
  • 实战

  • 技术
  • 常用
wang jiaqi
2021-05-21

数组常用方法

# 数组常用的方法

​ es6新增的方法,与for循环一样,但是没有内置的index。

# 1. for of循环

const list = [1, 2, 3];
for (const item of list) {
    //do something
    if (item >= 2) {
        console.log(item);
    }
}
1
2
3
4
5
6
7

# 2. forEach

​ Array.prototype上内置的,遍历出item和index,不会改变原数组,没有返回值。

const list = [1, 2, 3];
list.forEach((item, index) => {
    //do something
});
1
2
3
4

# 3. map

​ 获得原数组的映射,遍历出item和index,不会改变原数组,返回新数组。

const list = [1, 2, 3];
const newList = list.map((item, index) => item * index); //[0,2,6]
1
2

# 4. filter

​ 执行迭代函数的返回值如果为真值,则会将这个成员放进新数组,若为假,则不放入,不会改变原数组,返回新数组。

const list = [1, 2, 3];
const newList = list.filter((item, index) => item * index >= 4); //[3]
1
2

# 5. find和findIndex

​ find()返回值的结果是第一个执行迭代函数的返回值为真值的那一项成员,若都为假,则返回undefined,不会改变原数组。findIndex方法和find方法的原理一样,区别是findIndex方法返回的是第一个符合条件成员的index。如果没有找到符合条件的成员,那么findIndex的返回值是-1。

const list = [
  {
    id: 1,
    label: "1"
  },
  {
    id: 2,
    label: "2"
  },
  {
    id: 3,
    label: "3"
  },
  {
    id: 4,
    label: "4"
  }
];
const item = list.find(item => item.id === 2);	//{id: 2,label: "2"}
const index = list.findIndex(item => item.id === 2);//1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 6. some和every

​ some方法有返回值,如果原数组的每一项成员执行迭代函数的结果,有一项为真值,那么some方法会返回true。反之,如果每一项成员执行迭代函数的返回值都是false,那么some方法的返回值就是false。(或)

​ every方法有返回值,如果原数组的每一项成员执行迭代函数的结果,有一项为假值,那么every方法会返回false。反之,如果每一项成员执行迭代函数的返回值都是true,那么every方法的返回值就是true。(且)

const list = [1, 2, 3];
const res = list.some(item => item >= 2);	//true
const res = list.every(item => item >= 2); //false
1
2
3

# 7. indexOf

​ indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果匹配到则返回当前项的索引,否则返回-1(如果未找到)。

let arr = ["1", "2", "3"];
console.log(arr.indexOf("1"));//0
console.log(arr.indexOf("5"));//-1
1
2
3

# 8. concat

​ 把元素衔接到数组中。

var str1 = "Hello";
var str2 = "world!";
var n = str1.concat(str2);//"Helloworld!"
1
2
3

# 9. join

​ 将数组的所有元素转化为字符串

var fruits = ["1", "2", "3", "4"];
var energy = fruits.join();//1,2,3,4
1
2

# 10. reverse

​ 在原数组中颠倒元素的顺序。

var fruits = ["1", "2", "3", "4"];
fruits.reverse();//["4", "3", "2", "1"]
1
2

# 11. slice

截取数组的一部分。索引从0开始,不包括最后一个参数

var fruits = ["1", "2", "3", "4", "5"];
var citrus = fruits.slice(1, 3);//["2","3"]
1
2

# 12. splice

插入、删除或替换数组元素。

//插入 在第一个参数前面插入
var fruits = ["1", "2", "3", "4"];
fruits.splice(1, "5", "6"); //["1", "5", "6", "2", "3", "4"]
1
2
3
//删除   第一个参数是开始删除的位置,第二个参数是删除几个,第三个参数是替换被删除的元素
var fruits = ["1", "2", "3", "4"];
fruits.splice(1, 1, "5"); // ["1", "5", "3", "4"]
1
2
3

# 13. sort

​ 在原数组中对数组元素进行排序

var fruits = ["1", "5", "4", "8"];
fruits.sort();//["1", "4", "5", "8"]
1
2

# 14. toString

​ 将数组转化为字符串。

var arr = ["1", "2", "3"];
var newArr = arr.toString();//1,2,3
1
2
编辑 (opens new window)
上次更新: 2021/07/01, 20:33:02
Markdown使用教程

Markdown使用教程→

最近更新
01
边框
04-30
02
js1
04-29
03
常见阴影
04-29
更多文章>
Theme by Vdoing | Copyright © 2021-2021 本博客仅仅作为自己日常学习记录笔记使用
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×