ES5新增数组的方法

ES5新增数组常见方法(indexOf/forEach/map/filter/some/every)

  • .indexOf( data , start)
      检测数组中是否存在指定数据,存在返回索引,不存在返回-1,start表示从第几位开始查询。
demo:
var arr = ["a","45",67,true,"hello",67,45,25,13,89]; console.log(arr.indexOf(67)); // 2
console.log(arr.indexOf("world")); // -1
console.log(arr.indexOf("a")); // 0
console.log(arr.indexOf(67,3)); // 5
console.log(arr.indexOf(67,6)); // -1
  • .forEach( function(val,idx,self){ } ); 循环,遍历数组
      数组的专属遍历方法,1个参数:回调函数,在回调函数身上又有三个参数
var f = arr.forEach(function(val,idx,self){
// console.log(val);
// console.log(idx);
})
console.log(f); // undefined
  • .map( function(val,idx,self){ } );
      不是专门用来遍历的,但是可以实现遍历,格式同forEach
      map的主要功能:可以用来获取数组中的数据,操作,并返回成新数组;原数组不变
demo:
"函数中的三个参数分别代表,该项的值,该项下标,数组本身"
var m = arr.map(function(val,idx,self){
console.log(val,idx,self)
return val + "ly";
})
console.log(arr); // Array(10) [ "a", "45", 67, true, "hello", 67, 45, 25, 13, 89 ]
console.log(m); // Array(10) [ "aly", "45ly", "67ly", "truely", "helloly", "67ly", "45ly", "25ly", "13ly", "89ly" ]
  • .filter( function(val,idx,self){ } )
      不是专门用来遍历的,但是可以实现遍历,格式同forEach
      主要功能:过滤,回调函数每次返回值为true时,会将这个遍历到的值放在新的数组中,在filter结束后,返回这个数组;如果为false,跳过;原数组保持不变
demo:
  var f = arr.filter(function(val,idx,self){
  console.log(val,idx,self)
  return typeof val === "string";
  })
  console.log(f); // Array(3) [ "a", "45", "hello" ]
  • .some( function(val,idx,self){ } ) (课外补充)
      some意指“某些”,指是否“某些项”合乎条件。与下面的every算是好基友
      some存在一个值让callback返回true就可以了
demo1:
// 效果是我们判定这个数组是否有一个负数 使用.some
var arr = [1,58,125,-12,458,12];
var Boon = arr.some(function(e,i,arr){
return e < 0;
})
console.log(Boon) // ture var scores = [5, 8, 3, 10];
var current = 7; demo2:
function fn(score) {
return score > current;
} if (scores.some(fn)) {
console.log("通过了!"); // "通过了!
}
  • .every( function(val,idx,self){ } )
      所有函数的每个回调函数返回true的时候才会返回true,遇到一个false的时候终止执行,返回false
demo1:
// 效果是我们判定这个数组全是正数 使用.every
var arr = [1,58,125,-12,458,12];
var Boon = arr.every(function(e,i,arr){
return e > 0;
})
console.log(Boon) //false demo2:
var scores = [5, 8, 3, 10];
var current = 7;
function fn(score) {
return score > current;
}
if (scores.every(fn)) {
console.log("通过了!");
}else{
console.log("没通过"); // "没通过"
}

ES5新增数组的方法的更多相关文章

  1. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

  2. js数组定义和方法 (包含ES5新增数组方法)

    数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...

  3. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  4. ES5新增数组方法every()、some()、filter()、map()

    JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下 ...

  5. ES5新增数组的一些方法

    1.Array.indexof(value1,value2) Tip:用于返回某个数组或字符串中规定字符或者字符串的位置. (1)当Array.indexof(value1);里面只有一个值的时候,表 ...

  6. ES5新增数组方法(4):every

    检查数组元素的每个元素是否符合条件. // 数组中的元素全部满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.every((value, ...

  7. ES5新增数组方法(3):some

    检查数组元素中是否有元素符合指定. // 数组中的元素部分满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.some((value, in ...

  8. ES5新增数组方法(2):map

    通过指定函数处理数组的每个元素,并返回处理后的数组. 1.计算数组中每个元素的平方 let arr = [1, 2, 3, 4, 5, 6]; let newArr = arr.map(item =& ...

  9. ES5新增数组方法(1):filter

    检测数组元素,并返回符合条件所有元素的数组. 1.过滤数组中不符合条件的元素 let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter( ...

随机推荐

  1. [LeetCode]78. 子集(位运算;回溯法待做)

    题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1],   ...

  2. Spring注解不生效原因总结

    在Spring的注解学习中发现使用(@Resource.@PostConstruct. @PreDestroy)这三个注解时不生效.使用@Resource发生空指针异常,说 明被注解对象没有被成功注入 ...

  3. 集群数据ID生成之美团叶子生成

    转自https://tech.meituan.com/2017/04/21/mt-leaf.html 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识.如在美团点评的金融.支付.餐饮.酒店. ...

  4. 树莓派Raspberry Pi OS(原Raspbian)系统常用配置

    首次开机自动连接WIFI 在资源浏览器中打开刚写好Raspberry Pi OS(之前叫Raspbian)系统的SD卡,如果有boot目录则在boot目录中新建一个名为wpa_supplicant.c ...

  5. profile对比std::regex与boost::regex的性能

    c++11标准库的regex比boost库的regex之间的性能差距接近5倍,这是为什么?stackflow上也找到一篇post<c++11 regex slower than python&g ...

  6. 跟我一起学Redis之Redis概述

    背景 技术的更新迭代,是程序员最最最头大的事,总是在每个网络角落中有感慨声:学不动啦: 其实新技术并不是凭空而出,而是随着业务推进.数据驱动.技术积累促使开发者的不断探索和实践,最终横空出世--&qu ...

  7. 跟我一起学.NetCore之Swagger让前后端不再烦恼及界面自定义

    前言 随着前后端分离开发模式的流行,接口对接.联调成为常事,前端同事会经常问:我需要调哪个接口?这个接口数据格式是啥?条件都传啥? 对于一些紧急接口可能会采取沟通对接,然后补文档,其他的都会回一句:看 ...

  8. Lua设计与实现--读书笔记

    目录 lua简介 一种通用的数据类型:lua_TValue 字符串 Table lua实现一个队列 lua简介 C++底层核心模块,暴露核心接口给lua脚本层,网络的收发都在c++层完成,本书简述lu ...

  9. java实现详细的身份证验证、能正确验证身份证正确性

    IdCardExpUtil.java package com.javazs.util; import java.text.ParseException; import java.text.Simple ...

  10. Solon详解(九)- 渲染控制之定制统一的接口输出

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...