<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript中刪除指定數組中指定的元素的代碼_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 20:58:06
        文檔

        javascript中刪除指定數組中指定的元素的代碼_javascript技巧

        javascript中刪除指定數組中指定的元素的代碼_javascript技巧:函數如下: 代碼如下: foreach = function (obj, insp){ if(obj== null && obj.constructor != Array){ return []; } //obj是要處理的數組,obj==null 表示對象尚未存在;obj.constructor != Array 表示對象obj的屬性
        推薦度:
        導讀javascript中刪除指定數組中指定的元素的代碼_javascript技巧:函數如下: 代碼如下: foreach = function (obj, insp){ if(obj== null && obj.constructor != Array){ return []; } //obj是要處理的數組,obj==null 表示對象尚未存在;obj.constructor != Array 表示對象obj的屬性

        函數如下:
        代碼如下:
        foreach = function (obj, insp){
          if(obj== null && obj.constructor != Array){
          return [];
        }
        //obj是要處理的數組,obj==null 表示對象尚未存在;obj.constructor != Array 表示對象obj的屬性的構造函數不是數組;
        //constructor屬性始終指向創建當前對象的構造函數。兩個條件均滿足,則返回空數組[];
        //下面對constructor屬性作進一步了解。
        var obj= [1, 2, 3, 4]; // 等價于 var obj= new Array(1, 2, 3, 4);
        console.log(obj.constructor === Array); // 返回true 表明obj的構造函數為Array;
        var foo= function() { }; // 等價于 var foo = new Function();
        console.log(foo.constructor === Function); // 返回true 表明foo的構造函數為Function;
        var obj = new Foo(); //由構造函數實例化一個obj對象
        console.log(obj.constructor === Foo); // 返回true 表明obj的構造函數為Foo;

        -----------------------------------------------------------------------------------------------------------
        var i=0, len = obj.length, r = [];
        while(i  var x = insp(obj[i], i);
          if (x !== null) {
          r[r.length] = x;
        }
         i++;
        }
        return r;
        };
        //對數組對象obj進行遍歷,參數insp代表一個方法或函數,用于對obj中的每個元素進行操作。給參數insp傳遞了兩個參數,obj[i]代表數組中的每一個元素值;并將函數參數insp賦給x,最終將x值賦給數組r。
        -----------------------------------------------------------------------------------------------------------
        比如我們要遍歷數組中的每一個元素,引用foreach函數
        var testArray = [1,2,3,4,5,1,2,'w'];
        foreach(testArray, function(i){
          alert(i)
        });
        -----------------------------------------------------------------------------------------------------------
        -----------------------------------------------------------------------------------------------------------
        我們用另一個函數來刪除指定數組中指定的元素;
        代碼如下:
        ArrayWithout = function(){
          if (arguments.length < 2) {
        // Arguments 是特殊的對象,代表函數的參數.
            return arguments.length == 1 ? arguments[0] : null;
          }
          var results = [];
           var aa = arguments[0];
        //將第一參數賦給數組aa;
          if (aa === null || aa.constructor != Array) {
            return null;
        //如果aa不存在或者不是數組,那么返回null;
          }
          if(arguments[1].constructor == Array){
        // 如果第二個參數是數組,則將參數數組中對應的每個元素都刪除;
            var args = [];
            args[0] = aa;
        //aa = arguments[0] 將aa賦給數組args,作為其第一個元素值;
            foreach(arguments[1], function(v, i){
        //引用了函數foreach,來對數組arguments[1]中每個元素進行操作,
              args[i+1] = v;
        // v代表數組arguments[1]中每個元素值,將它們一一賦值給args[1],args[2]...,而args[0]=arguments[0];
           });
           }
           else{
            args = arguments;
        //如果第二個參數不是數組,則直接將參數數組賦給args;
          }
          for(var i = 0;i < aa.length; i ++){
            var isWithout = true;
            for(var j = 1; j < args.length ; j ++){
              if(aa[i] == args[j]){
               isWithout = false;
               break;
        // 切記j是從1開始的,因為args的第一元素args[0]是arguments[0],正是我們要處理的的原數組,等同于數組aa;
        讓要刪除的各個元素與原數組aa中的某一元素進行逐次比較,如果相同,break 跳出循環; isWithout返回false,所以也不再執行下面的 results.push(aa[i]);
            }
           }
             if (isWithout) {
               results.push(aa[i]);
                //所謂刪除原理,就是將原數組各元素與要刪除的元素進行比較,保留與要刪除的元素不相同的元素并賦給一個新的數組results;
            }
          }
          return results;
        //返回已經刪除了指定元素的數組;
        };
        // 引用ArrayWithout的例子
        var testArray = [1,2,3,4,5,1,2,'w'];
        var result = ArrayWithout(testArray, 1, 3);
        //var result = ArrayWithout(testArray, [1, 4]);
        alert(result) //[2,4,5,2]

        源代碼如下:
        代碼如下:
        foreach = function (obj, insp){
        if(obj == null && obj.constructor != Array){
        return [];
        }
        var i=0, len = obj.length, r = [];
        while(ivar x = insp(obj[i], i);
        if (x !== null) {
        r[r.length] = x;
        }
        i++;
        }
        return r;
        };
        ArrayWithout = function(){
        if (arguments.length < 2) {
        return arguments.length == 1 ? arguments[0] : null;
        }
        var results = [];
        var aa = arguments[0];
        if (aa === null || aa.constructor != Array) {
        return null;
        }
        if(arguments[1].constructor == Array){
        var args = [];
        args[0] = aa;
        foreach(arguments[1], function(v, i){
        args[i+1] = v;
        });
        }
        else{
        args = arguments;
        }
        for(var i = 0;i < aa.length; i ++){
        var isWithout = true;
        for(var j = 1; j < args.length ; j ++){
        if(aa[i] == args[j]){
        isWithout = false;
        break;
        }
        }
        if (isWithout) {
        results.push(aa[i]);
        }
        }
        return results;
        };
        var testArray = [1,2,3,4,5,1,2];
        foreach(testArray, function(i){
        alert(i)
        })
        var result = ArrayWithout(testArray, 1, 3);
        //var result = ArrayWithout(testArray, [1, 3]);
        alert(result) //[2,4,5,2]

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript中刪除指定數組中指定的元素的代碼_javascript技巧

        javascript中刪除指定數組中指定的元素的代碼_javascript技巧:函數如下: 代碼如下: foreach = function (obj, insp){ if(obj== null && obj.constructor != Array){ return []; } //obj是要處理的數組,obj==null 表示對象尚未存在;obj.constructor != Array 表示對象obj的屬性
        推薦度:
        標簽: 元素 中刪除 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 亚洲高清中文字幕免费| 一级特黄录像视频免费| 99久久国产免费中文无字幕| 国产亚洲情侣一区二区无| 免费人人潮人人爽一区二区| 亚洲AV网站在线观看| 青青免费在线视频| 免费成人午夜视频| 一级一片免费视频播放| 国产亚洲视频在线播放| 久久久久久国产精品免费免费男同 | 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 日韩免费在线视频| 麻豆亚洲AV永久无码精品久久 | 亚洲精品无码中文久久字幕| 在线a毛片免费视频观看| 亚洲av乱码一区二区三区按摩 | 日韩一区二区在线免费观看| 亚洲狠狠婷婷综合久久| 四虎影院永久免费观看| 高清永久免费观看| 亚洲精品熟女国产| 亚洲AV无码乱码在线观看富二代| a级毛片毛片免费观看久潮喷 | 最新69国产成人精品免费视频动漫 | 亚洲日韩国产一区二区三区| 国产午夜无码精品免费看动漫| 99亚洲精品高清一二区| 成人免费视频网址| eeuss免费天堂影院| 久久久无码精品亚洲日韩蜜臀浪潮| 在线观看免费高清视频| 四虎永久在线精品免费一区二区 | 日韩亚洲人成在线| 亚洲精品和日本精品| 99精品视频在线视频免费观看 | 久操视频免费观看| 色天使亚洲综合在线观看| 亚洲性日韩精品国产一区二区| 久久免费的精品国产V∧| 久久精品国产亚洲av天美18|