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;
    }

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

  • 相关阅读:
    vue 组件通信(全)
    clickoutside 代码实现
    reset css 样式重置
    vue computed 无法deep的问题
    sessionStorage的总结
    Windows系统maven安装配置
    Windows系统JDK安装配置
    开篇
    JIT即时编译器
    CLR基础
  • 原文地址:https://www.cnblogs.com/olive987/p/5755350.html
Copyright © 2011-2022 走看看