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:计算元素相加后总和  参数包括(初始参数,当前值,当前索引,当前数组,初始参数值)
  • 相关阅读:
    创建数据库表
    Pod Preset玩转K8S容器时区自动配置
    CentOS7 CPU 降频问题
    Kafka Offset Monitor页面显示空白
    zabbix监控kafka消费
    istio-禁用/允许sidecar设置
    Istio 1.1部署实践
    etcd磁盘清理步骤
    Kubernetes 集群中使用 Helm 搭建 Spinnaker
    利用Spinnaker创建持续交付流水线
  • 原文地址:https://www.cnblogs.com/purple-windbells/p/11263438.html
Copyright © 2011-2022 走看看