Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于给定属性从数组中删除对象_Javascript - Fatal编程技术网

Javascript 如何基于给定属性从数组中删除对象

Javascript 如何基于给定属性从数组中删除对象,javascript,Javascript,我有一个对象数组: [ { content: "lelzz", post_id: "241" }, { content: "zzyzz", post_id: "242" }, { content: "abcde", post_id: "242" }, { content: "12345", post_id: "242" }, { content: "nomno", post_id: "243" } ] 如何删除具有'242'的post\u id的所有对象?两个步骤: 向后循

我有一个对象数组:

[
  { content: "lelzz", post_id: "241" },
  { content: "zzyzz", post_id: "242" },
  { content: "abcde", post_id: "242" },
  { content: "12345", post_id: "242" },
  { content: "nomno", post_id: "243" }
]
如何删除具有
'242'
post\u id
的所有对象?

两个步骤:

  • 向后循环数组
  • 对于具有匹配属性的索引
  • 如果您知道可能有多个具有此属性的对象,您应该选择:


    以下是在javascript中从数组中删除元素的几种方法:
    function removeObjectsWithPostId (arr, id) {
        for (var i = arr.length - 1; i > -1; i--) {
            if (arr[i].post_id === id) arr.splice(i, 1)
        }
        return arr
    }
    
    function removeObjectsWithPostId (arr, id) {
        return arr.filter(function (obj) { return obj.post_id !== id })
    }