js删除数组中的'NaN'

js中的NaN不和任何值相等,包括自身。

所以可以使用x!=x来判断x是否是NaN,当且仅当x为NaN时,表达式的结果为true。

NaN != NaN    //true

可以依此删除数组中的‘NaN‘。

Array.prototype.delNaN = function () {
    var arr = [];
    for (var i = 0; i < this.length; i++) {
        if (this[i] === this[i]) {
            arr.push(this[i]);
        }
    }
    return arr;
}

var arr = [1, 2, 3, 4, 5, NaN, 6, ‘zz‘];
arr.delNaN();

js删除数组中的'NaN'

时间: 2024-11-03 22:05:20

js删除数组中的'NaN'的相关文章

js删除数组中的元素

js删除数组中的元素delete和splice的区别 例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ["a",undefined,"c","d"] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变. 方法二:aplice 删除数组 splice(index,len,[item]

JS删除数组中的某个元素

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: 1 Array.prototype.indexOf = function(val) { 2 for (var i = 0; i < this.length; i++) { 3 if (this[i] == val) return i; 4 } 5 return -1; 6 }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素: 代码为: 1 Array.prototype.remo

js删除数组中某一项或几项的几种方法

1:js中的splice方法 splice(index,len,[item])    注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空 如:arr = ['a','b','c','d'] 删除 ----  item不设置 arr.splice(1,1)   //['a','c','d']         删除起始下

记录:js删除数组中某一项或几项的几种方法

1:js中的splice方法 splice(index,len,[item])    注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空 如:arr = ['a','b','c','d'] 删除 ----  item不设置 arr.splice(1,1)   //['a','c','d']         删除起始下

记录:js删除数组中某一项或几项的几种方法(转)

1:js中的splice方法 splice(index,len,[item])    注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空 如:arr = ['a','b','c','d'] 删除 ----  item不设置 arr.splice(1,1)   //['a','c','d']         删除起始下

js 删除数组中多个元素

js中如果使用forEach的话 , splice删除的时候会导致js的数组的length发生改变 , 因此会出现本应该删除的元素没有被删除 . 因此 , 我的想法是 : 使用index遍历 , 删除一个数组之后 , index不变  代码如下 : 1 var deleteTaskIds = [1,2,3,4]; 2 var taskList = [{}] 3 for (var i=0; i<taskList.length;){ 4 var task = taskList[i]; 5 if (d

js删除数组中元素的方法

Array.prototype.del=function(n) { //n表示第几项,从0开始算起. //prototype为对象原型,注意这里为对象增加自定义方法的方法. if(n<0){//如果n<0,则不进行任何操作.  return this; }else{  return this.slice(0,n).concat(this.slice(n+1,this.length)); } /*  concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的.  这里就是返回thi

JS删除数组中重复的数据

Array.delRepeat = function (arr) {   var _arr = arr.slice(0),retArr = [];   for (var i = 0, len = _arr.length; i < len; i++) {     for (var j = i + 1; j < len; j++) {       if (_arr[i] == _arr[j]) {         break;       }     }     if (j == len) {  

JS 删除数组中元素方法

Array.prototype.remove = function(val) { var index = this.indexOf(val); if(index > -1) { this.splice(index, 1); } }; var arr = ['1','2','3']; arr.remove("2")  ->  arr =  ['1','3'];