js删除 object中的空值

var data = {

  a: ‘a‘,

b: ‘‘

}

删除 b和‘‘的配对,

/**
 * Delete all null (or undefined) properties from an object.
 * Set ‘recurse‘ to true if you also want to delete properties in nested objects.
 */
function delete_null_properties(test, recurse) {
    for (var i in test) {
        if (test[i] === null) {
            delete test[i];
        } else if (recurse && typeof test[i] === ‘object‘) {
            delete_null_properties(test[i], recurse);
        }
    }
}

 reference: http://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript

时间: 2024-10-15 14:25:31

js删除 object中的空值的相关文章

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

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) {