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

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

  • 相关阅读:
    关于checkbox的一篇博客
    如何快速学习
    for循环下的取值问题
    vue的自动更新原理
    关于word-wrap的用法;
    2016年百度面试题
    编写代码的原则
    null和defined的区别
    js的模块化加载
    springmvc注解
  • 原文地址:https://www.cnblogs.com/olive987/p/5755350.html
Copyright © 2011-2022 走看看