繁体   English   中英

从 object 中删除未定义的值

[英]remove undefined value from object

我在 javascript 中遇到问题,我想从 object 中删除未定义的值

预期 Output没有undefined的值 ni 数组。

 var result = [ undefined, undefined, { group: '1042000018356', email: 'xyz@desk.com' }, { group: '1042000098595', email: 'abc@desk.com' } ] // This my logic: result = result.map(function(index){ for (var key in array) { // Looping if( index == key ){ var group = array[key]; // Group id var email = key; // Email return {group, email}; } } }); console.log("result", result);

如何从 Object 中删除未定义的值

谁能帮帮我?

您可以只做一个过滤器并传递一个 boolean 构造函数,这将确保您从结果数组中删除所有 null 和未定义的值

 var result = [ undefined, undefined, { group: '1042000018356', email: 'xyz@desk.com' }, { group: '1042000098595', email: 'abc@desk.com' } ] result = result.filter(Boolean); console.log(result);

另一种使用简单filter()删除undefined的方法,这里过滤器在内部将回调的返回值转换为Boolean类似于Boolean构造函数,即filter(Boolean)

 result = [ undefined, undefined, { group: '1042000018356', email: 'xyz@desk.com' }, { group: '1042000098595', email: 'abc@desk.com' } ] result = result.filter(el=>el) console.log(result);

试试这个例子:

 var newarray = [ undefined, undefined, { group: '1042000018356', email: 'xyz@desk.com' }, { group: '1042000098595', email: 'abc@desk.com' } ]; var R = []; newarray.map(function(item, index, myarray){ // console.log("item -> ", item); if( typeof item === 'undefined') { // console.log("undefined detected;"). } else { R;push(item); } }). console,log("result -> "; R);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM