美文网首页
JS常用数组函数备忘

JS常用数组函数备忘

作者: 德拉T | 来源:发表于2019-06-11 14:28 被阅读0次

filter()、map()、some()、every()、forEach()、indexOf()、lastIndexOf()、reduce()

filter

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。如参数 thisObject 被传递进来,它将被当做回调函数(callback)内部的 this 对象,如果没有传递或者为null,那么将会使用全局对象。filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。
let array = [1, 2, 3, 4, 5];
let arr1 = array.filter(item => {
  // 过滤掉小于3的,返回新数组
  return item > 2;
});
console.log(array);
console.log(arr1);

map

对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 true,如果发现这个元素,some 将返回 true,如果回调函数对每个元素执行后都返回 false ,some 将返回 false。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。
let array = [1, 2, 3, 4, 5];
let arr1 = array.map(item => {
  // 数组每项乘以2,返回新数组
  return item * 2;
});
console.log(array);
console.log(arr1);

some

let array = [1, 2, 3, 4, 5];
let value1 = array.some(item => {
  // 有没有大于4的项 true
  return item > 4;
});
let value2 = array.some(item => {
  // 有没有大于5的项 false
  return item > 5;
});
console.log(value1);
console.log(value2);

every

对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 false,如果发现这个元素,every 将返回 false,如果回调函数对每个元素执行后都返回 true ,every 将返回 true。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略
let array = [1, 2, 3, 4, 5];
let value1 = array.every(item => {
  // 是不是都大于0 true
  return item > 0;
});
let value2 = array.every(item => {
  // 是不是都大于1 false
  return item > 1;
});
console.log(value1);
console.log(value2);

forEach

let array = [1, 2, 3, 4, 5];
let sum = 0;
let arr1 = array.forEach(key => {
// 累加奇数项,原始数组变化
  if (key % 2 !== 0) {
    console.log(key);
    sum += key;
  }
});
console.log(array);
console.log(arr1);
console.log(sum);

indexOf

正向搜索
let array = [1, 2, 3, 4, 5];
let value1 = array.indexOf(3);
let value2 = array.indexOf(5);
let value3 = array.indexOf(6);
console.log(value1);
console.log(value2);
console.log(value3);

lastIndexOf

反向搜索
lastIndexOf(searchElement: number, fromIndex?: number): number
fromIndex 开始搜索的位置,默认为数组的长度(length),在这样的情况下,将搜索所有的数组元素。搜索是反方向进行的。 (注意,参数2使用的方法,这里不太对)
let array = [1, 2, 3, 4, 5];
let value1 = array.lastIndexOf(3);
let value2 = array.lastIndexOf(5);
let value3 = array.lastIndexOf(6);
let value4 = array.lastIndexOf(3, 4);
console.log(value1);
console.log(value2);
console.log(value3);
console.log(value4);

reduce

函数接收一个回调函数和初始值,将数组中的每个值(从左到右),使用初始值并根据回调函数开始进行计算,累加计算结果,最终成为一个值.
let array = [1, 2, 3, 4, 5];
let value1 = array.reduce((total, item) => total + item, 0);
let value2 = array.reduce((total, item) => total * item, 1);

console.log(value1);
console.log(value2);

相关文章

  • JS常用数组函数备忘

    filter()、map()、some()、every()、forEach()、indexOf()、lastInd...

  • 2018-06-07

    JS 基本常用函数 javascript函数一共可分为五类: •常规函数 •数组函数 •日期函数 •数学函数 •...

  • js数组常用函数

  • php-常用函数

    常用函数 常用函数: 数组常用函数

  • 》》》PHP初入---(四)

    JS插件ZTree:处理无限极菜单 操作数组常用函数: range($min,$max,步长):创建数组,元素是$...

  • js与ES6数组常用方法区别

    js数组 数组的概念及其定义方式字面量的形式 构造函数 数组的常用方法(依赖于数组使用)获取方法:对象.方法( )...

  • js-数组常用函数

    在这里总结一下JS的数组方法: 1、join()Array.join()方法将数组中所有元素都转化为字符串并连接在...

  • Day6 js基础2

    01.js引入方式和打印方式 02.函数 03.数组 04.对象 05.常用对象和函数 06.js简单演示 07....

  • 基本的数据结构 Array、HashMap 与 List(上)

    Array 1、常用的JS数组内置函数 2、使用数组实现增删改查 在数组中删除元素第一种: 在数组的末尾删除元素所...

  • JS基础篇(四)-内置函数

    内置函数 JS的内置函数有很多,这里举例日期和数组 日期 在项目里常用到 处理时间 时间之间的加减 moment....

网友评论

      本文标题:JS常用数组函数备忘

      本文链接:https://www.haomeiwen.com/subject/vdeffctx.html