javascript - 如何使用jquery将非空键值对象插入数组

标签 javascript jquery

我有一个带有一些键:值对的对象。我想将对象插入数组,但没有空对象值。

我的 fiddle :https://jsfiddle.net/howw1fj7/

var myData = [];

var myObj = {
  product: "phone",
  quantity: 100,
  color: "red",
  secondColor: '',
  imei: "43904325"
};
myData.push(myObj); //push only not empty key:values 
$('pre').html(JSON.stringify(myData, null, 4));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre></pre>

我尝试过类似的方法,但这是不正确的:

$.each(myObj, function(key, value) {
    if(value.length !=0) {
    var myNewObj = {key:value};
    myData.push(myNewObj);
  }
}); 

最佳答案

您可以定义一个实用方法Object.filter,如in my answer here所述。 .

然后你会得到这个:

Object.from = arr => Object.assign(...arr.map( ([k, v]) => ({[k]: v}) ));
Object.filter = (obj, predicate) => Object.from(Object.entries(obj).filter(predicate));

var myData = [];
var myObj = { product: "phone", quantity: 100, color: "red", secondColor:'', imei: "43904325" };

myData.push(Object.filter(myObj, ([k, v]) => v !== ''));
console.log(myData);

关于javascript - 如何使用jquery将非空键值对象插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447307/

相关文章:

javascript - iPad 上不显示下拉菜单

javascript - Browserify ES6 - 动态要求

javascript - JQuery 创建 HTML 对象

javascript - 如何根据选择框中的选项值更改视频的 src 值

javascript - 按钮打开相同的模式

javascript - 如何利用 jQuery 来检测带有动态生成的 ID 的选择标签上的变化并更改选择的选项

javascript - onclick刷新div内容

javascript - 使用 Jquery 和 JqPlot 绘制带有数据的 JSON 文件中的图形

javascript - 如何在所有国家/地区仅显示阿联酋标准时间、月份、年份

javascript - 如何在选中各自的行复选框时启用和禁用两个输入