zoukankan      html  css  js  c++  java
  • 牛客网前端编程:在数组 arr 中,查找值与 item 相等的元素出现的所有位置

        //第一种方法:filter
            function findAllOccurrences(arr, target) {
                var result = [];
                arr.filter(function (item,index) {
                    return item===target && result.push(index);
                });
                return result;
            }    
            //第二种方法:forEach
            function findAllOccurrences1(arr, target) {
                var result = [];
                arr.forEach(function (item,index) {
                    if (item===target) {
                        result.push(index);
                    }
                });
                return result;
            }    
             //第三种方法
            function findAllOccurrences3(arr, target) {
                var result = [];
                //获取查找元素在数组中的最后一个索引
                var index = arr.lastIndexOf(target);
                //如果这个索引存在,则将其索引放入结果数组中,并且删除该索引位置的元素,继续遍历数组,直到数组中不再存在这个元素
                while(index > -1) {
                    result.push(index);
                    arr.splice(index,1);
                    index = arr.lastIndexOf(target);
                }
                return result;
            }        

    一些函数的总结:

         //splice :增加或者删除元素,参数为0时是增加,参数为1时是替换,参数大于1时是删除
            //slice:选取数组中元素,当为一个参数时,选取的元素从这个参数到数组末尾;两个参数时则选取的元素从起始参数到结束参数
            //split:分割数组,当只有一个参数时,从该参数分割数组,若有两个参数,则从第一个参数位置分割相应的个数
            //filter:过滤数组,参数包括(当前值,当前索引,当前数组,给该数组设置的初始值)
            //foreach:参数包括(当前值,当前索引,当前数组,给该数组设置的初始值)
            //eval:计算某个字符串 参数为所要计算的字符串
            //reduce:计算元素相加后总和  参数包括(初始参数,当前值,当前索引,当前数组,初始参数值)
  • 相关阅读:
    scrapy爬取某网站,模拟登陆过程中遇到的那些坑
    Linux平台安装MongoDB
    Oracle HAVING子句
    oracle查找重复记录-转
    PLSQL存储过程(基础篇)-转
    oracle for update和for update nowait的区别
    Oracle两个数据库互相访问,DBLink使用-转
    中国人素质低的根本原因
    威胁李嘉诚是愚蠢的
    回归农村,这才是我想要的生活
  • 原文地址:https://www.cnblogs.com/purple-windbells/p/11263438.html
Copyright © 2011-2022 走看看