forEach some filter findIndex includes replace 集合浅谈

168 阅读3分钟

1.forEach()

ES5中的新增方法

forEach()语法规范:

array.forEach(function(currentValue,index,arr))

首先是哪一个数组.forEach(function(currentValue,index,arr))这个方法 它就可以来遍历我们这个数组了

并且里面有一个回调函数里面有三个参数

currentValue:数组当前项的值

index:数组当前项的索引号

arr:数组对象本身

 
    
   <script>
        //forEach 迭代(遍历) 数组
        var arr = [1,2,3]
        var sum = 0;
        arr.forEach(function(value,index,arr){
            console.log('每个数组元素'+value);//结果1 2 3是依次取出来的
            console.log('每个数组元素的索引号'+index);//结果 0 1 2 索引号也是依次取出来的
            console.log('数组本身'+arr);//结果 1,2,3
            //如果我们想把数组里面的数加起来我们可以这么做
            // sum+=value;//value是我们的数组元素 让我们sum每次加上value就行了
        })
        console.log(sum);
    </script>       

2.filter

ES5中的新增方法

    语法规范:

            array.filter(function(currentValue,index,arr){})

    1.filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组

    2.注意他之间返回一个新数组

    3.currentValue:数组当前项的值

    4.index:数组当前项的索引

    5.arr:数组对象本身

    filter()翻译过来就是过滤器的意思
    
  <script>
         //filter 筛选数组
         var arr = [12,66,4,88,3,7]
         var newArr = arr.filter(function(value,index){
              //在这里我们想把大于20的选出来
              //return value >= 20; 
              return value % 2 === 0;  
         })
         console.log(newArr);//66 88
         //执行过程:1.首先先去遍历arr-->
         //2.第一轮循环的时候先拿到value和20相比较-->
         //3.第二轮循环的时候拿到66去和20进行比较大于20就返回到newArr-->
         //4.第三轮又拿到一个4和20进行比较5.88和20进行比较然后返回到newArr
         console.log(newArr);//
    </script>   

3.some

ES5中的新增方法

    1.some()方法

    语法规范:

    2.array.some(function(currentValue,index,arr))

    3.some()方法用于检测数组中的元素是否满足指定条件.通俗点 查找数组中是否有满足条件的元素

    4.如果找到第一个满足条件的元素,则终止循环,不再继续查找

    5.currentValue:数组当前项的值

    6.index:数组当前项的索引

    7.arr:数组对象本身
 <script>
        //some 查找数组中是否有满足条件的元素
        var arr = [10, 30, 4];
        //我么查找一下是否有大于20的元素
        var newArry = arr.some(function (value, index) {
            return value >= 20;
            //有没有value值小于3的存在呢
            return value<3;
        })
        console.log(newArry);//trun

        // 执行过程:1.第一轮循环将red赋值给value然后和pink进行对比不等于2.第二轮循环将pink赋值给value去对比等于3.将value返回给flag1 并且将blue忽略4.将trun返回
        var arr1 = ['red','pink','blue']
        var flag1 = arr1.some(function(value){
            return value =='pink';
        })
        console.log(flag1);
        //1.filter 也是查找满足条件的元素 返回的是一个数组 而且是把所有满足添加的元素返回回来
        //2. some 也是查找满足条件的元素是否存在 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环
         
    </script>

4.findIndex

定义和用法

findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。

findIndex() 方法为数组中的每个元素都调用一次函数执行:

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。 如果没有符合条件的元素返回 -1

注意: findIndex() 对于空数组,函数是不会执行的。

注意: findIndex() 并没有改变数组的原始值

array.findIndex(function(currentValue, index, arr), thisValue)

currentValue: 必需。当前元素

index: 可选。当前元素的索引

arr : 可选。当前元素所属的数组对象

5.includes

定义和用法

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

语法

searchElement: 必须。需要查找的元素值。

fromIndex:可选。从该索引处开始查找 searchElement。 如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。 arr.includes(searchElement) arr.includes(searchElement, fromIndex)

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true

6.replace

定义和用法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法

stringObject.replace(regexp/substr,replacement)

regexp/substr:必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement:必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值

一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。