源地址
Extending the native Array prototype CodejavascriptArray.prototype.clean = function(deleteValue) { for (var i = 0; i < this.length; i++) { if (this[i] == deleteValue) { this.splice(i, 1); i--; } } return this; };Usage
javascripttest = new Array("","One","Two","", "Three","","Four").clean(""); test2 = [1,2,,3,,3,,,,,,4,,4,,5,,6,,,,]; test2.clean(undefined);Pure Javascript Description
You can simply push the existing elements into other array (the example removes every "falsy" value: undefined, null, 0, false, NaN and "").
Codejavascriptfunction cleanArray(actual){ var newArray = new Array(); for(var i = 0; iSimple DescriptionUsage var result = cleanArray([1,2,,3,,3,,,,,,4,,4,,5,,6,,,,]);javascript
If you"ve got Javascript 1.6 or later you can use Array.filter using a trivial return true callback function.
Since .filter automatically skips missing elements in the original array.
The MDN page linked above also contains a nice error-checking version of filter that can be used in JavaScript interpreters that don"t support the official version.
Note that this will not remove null entries nor entries with an explicit undefined value, but the OP specifically requested "missing" entries.
Codejavascriptarr = arr.filter(function() { return true; });
javascriptarr = arr.filter(function(n) { return n != undefined; });
javascript// only for arrays items which are numbers is numbers strings arr = arr.filter(Number)
javascript[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
javascript// only for single array items of type text ["","1","2",3,,"4",,undefined,,,"5"].join("").split("");JQuery Code
javascriptarr = $.grep(arr, function(n){ return n; });Underscope Code
javascript_.filter([1, false, "", undefined, 2], Boolean); // [1, 2]
javascript_.compact([1, false, "", undefined, 2]); // [1, 2]Cool Way Description
Using ES6. IE support for filter is IE9 standards mode.
Codejavascriptvar arr = [1,2,null, undefined,3,,3,,,0,,,4,,4,,5,,6,,,,]; var temp = []; for(let i of arr) { // copy each non-empty value to the "temp" array i && temp.push(i); } arr = temp; delete temp; // discard the variable arr // [1, 2, 3, 3, 4, 4, 5, 6]Iteration Code
javascriptvar arr = [1,2,null, undefined,3,,3,,,0,,,[],,{},,5,,6,,,,]; var len = arr.length, i; for(i = 0; i < len; i++ ) { // copy non-empty values to the end of the array arr[i] && arr.push(arr[i]); } // cut the array and leave only the non-empty values arr.splice(0 , len); arr // [1,2,3,3,[],Object{},5,6]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85424.html
摘要:文章首發于基于的源碼版權所有,和或其附屬公司。使用須遵守許可條款。的迭代器會盡最大的努力拋出異常。因此,寫程序依賴這個異常為了正確性這點是錯誤的,迭代器的行為僅僅被用來檢查程序中的。這個類是集合框架的一員。 文章首發于:clawhub.club 基于 JDK1.8 的ArrayList源碼: /* * Copyright (c) 1997, 2017, Oracle and/or...
摘要:本文講解常用種數據類型通過剖析源碼弄清楚每一種數據類型所有的內置函數,理解每一個函數的參數返回值使用場景是什么。 本文講解Python常用7種數據類型:int, float, str, list, set, dict. 通過剖析源碼弄清楚每一種數據類型所有的內置函數,理解每一個函數的參數、返回值、使用場景是什么。 一、整型 int Python3.6源碼解析 class int(obj...
摘要:容器相關的操作及其源碼分析說明本文是基于分析的。通常,我們通過迭代器來遍歷集合。是接口所特有的,在接口中,通過返回一個對象。為了偷懶啊,底層使用了迭代器。即返回的和原在元素上保持一致,但不可修改。 容器相關的操作及其源碼分析 說明 1、本文是基于JDK 7 分析的。JDK 8 待我工作了得好好研究下。Lambda、Stream。 2、本文會貼出大量的官方注釋文檔,強迫自己學英語,篇幅...
摘要: // Backbone.js 1.1.2 // (c) 2010-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors // Backbone may be freely distributed under the MIT license. // For ...
閱讀 1436·2021-09-22 16:04
閱讀 2800·2019-08-30 15:44
閱讀 888·2019-08-30 15:43
閱讀 767·2019-08-29 15:24
閱讀 1845·2019-08-29 14:07
閱讀 1135·2019-08-29 12:30
閱讀 1730·2019-08-29 11:15
閱讀 2741·2019-08-28 18:08