Remove empty Objects from Array

后端 未结 4 1625
礼貌的吻别
礼貌的吻别 2021-01-21 16:35

I have a JavaScript-array with objects filled in and want to remove every object with no data. It might look like this:

var myArray = [ {id: \"28b\", text:\"Phil         


        
4条回答
  •  一个人的身影
    2021-01-21 17:05

    No need for a library, just take Array#filter and an object. With dynamic filtering, for all properties.

    var myArray = [{ id: "28b", text: "Phill" }, { id: "12c", text: "Peter" }, { id: "43f", text: "Ashley" }, { id: "43f", text: "Ashley" }, { id: "", text: "" }, { id: "9a", text: "James" }, { id: "", text: "" }, { id: "28b", text: "Phill" }],
        filtered = myArray.filter(function (a) {
            var temp = Object.keys(a).map(function (k) { return a[k]; }),
                k = temp.join('|');
    
            if (!this[k] && temp.join('')) {
                this[k] = true;
                return true;
            }
        }, Object.create(null));
    
    console.log(filtered);

提交回复
热议问题