JS数组迭代

//数组迭代方法是对每个数组进行操作

//value   当前项目值     index   索引数     array   数组本身

//为每个数组元素调用一次函数

//Array.forEach()//没有返回值,只是针对每个数组项调用指定的函数

var a = "";

var num = [1,2,3,4,5];

num.forEach(my);

function my (value,index){

       a + = value + "<br/>";     //调用项目值

       a + = index + "<br/>";     //调用索引数

}

document.write(a);

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//map方法的作用就是将原数组按照一定的规则生成一个新的数组,不影响⚪数组。

var num = [1,2,3,4,5];

var num_ = num.map(my);

function my(value){

      return value * 2;     //这里可以使用加减乘除

}

document.write(num_);

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//filter为"过滤"、"筛选"的意思。指数组filter后,返回过滤后的新数组。用法和参数跟map差不多。

Array.filter()

var num = [1,2,3,4,5];

var a = num.filter(my);

function my(value,index){

      return value > 3;

}

document.write(a);

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最后计算为一个值

Array.reduce()

total 总数

var num = [1,2,3]

var a = num.map(my)

function my(total,value){

      console.log(total1);

      console.log(value);

   return total+value

}

console.log(a);

//Array.reduceRight()   使用方法和Array.reduce一样,不同之处在于它是从最后一个值开始计算的。

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//检查数组中的每一项是否符合条件 

Array.every()

var num = [1,2,3,4,5];

var all = num.every(my);

function my(value) {

      return value > 3;

      return value > 0;

}

document.write("所有大于3的是:" + all);     //全部满足才为true 否则为false

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//返回一个布尔值(true或false),检查数组中是否有某些项符合条件

Array.some()

var num = [1,2,3,4,5];

var all = num.some(my);

function my(value,index) {

      return value > 3;                //ture

      return value > 6;                //false

}

document.write("所有大于3的是:" + all);     //只要满足一个即为true

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//在数组中搜索元素值并返回其位置

Array.indexOf()

var fruits = ["a","A","p","x","A","s","r"];

var a = fruits.indexOf("A");

document.write(fruits)

document.write("A   被找到的位置是:" + a);     //搜索到第一个 就停止搜索 显示为索引数位置为1

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//与Array.indexOf()相似,但是从数组从结尾开始搜索

Array.lastIndexOf()

var   fruits = ["a","A","p","x","A","s","r"];

var a = fruits.lastIndexOf("A");

document.write("A   被找到的位置是: " + a);     //搜索到第一个 就停止搜索 显示索引位置为3

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//find方法用于找出第一个符合条件的数组成员。他的参数跟forEach方法是一样的;所有数组成员依次执行回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合的成员,则返回undefined。

Array.find()

var num = [1,2,3,4,5];

var first = num.find(my);

function my(value){

      return value > 3;

      return value > 6;

}

document.write("大于3的第一个值是:" + first);

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

//findIndex方法和find相似;不过它返回数组中符合条件的元素的索引。如果所有成员都不符合条件,则返回-1.

Array.findIndex()

var num = [1,2,3,4,5];

var first = (num.findIndex(my));

function my(value,index,array){

      return value > 3;

      return value > -5;

      return value > 6;

}

document.write("大于3的第一个值的下标数是:" + first);

原文地址:https://www.cnblogs.com/wzy123/p/11385469.html