zoukankan      html  css  js  c++  java
  • #学习笔记#——JavaScript 数组部分编程(一)

    来自牛客网的js编程题

    1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组 

     1 function remove(arr, item) {
     2     if(!Array.isArray(arr)) return -1;
     3     for(var i=0;i<arr.length;i++){
     4         if(arr[i]==item){
     5             arr.splice(i,1);
     6             i--;   //这里是因为用splice删除一个元素之后,下一个元素替换当前元素的位置
     7         }        
     8     }
     9     return arr;
    10 }

    上面代码测试通过率66.67%,主要原因是改变了原始的数组。

    修改成如下,亲测通过率100%

    function remove(arr, item) {
        if(!Array.isArray(arr)) return -1;
        var a=new Array();
        for(var i=0;i<arr.length;i++){
            if(arr[i]!=item){
                a.push(arr[i]);         
            }        
        }
        return a;
    }

    这里相当于两种思路来解决问题, 一种是正推,另一种是反推, 类似数学中计算概率问题的思路。

  • 相关阅读:
    P1280 尼克的任务
    P2286 [HNOI2004]宠物收养场
    筛法求素数
    拓扑排序
    观光旅游
    [USACO09OCT]热浪Heat Wave
    Java环境变量配置
    git 常用命令
    mysql-5.7安装、配置
    maven-java包管理工具-01
  • 原文地址:https://www.cnblogs.com/olive987/p/5755350.html
Copyright © 2011-2022 走看看