繁体   English   中英

从 json 数组元素中删除 Json 对象

[英]Remove Json object from json array element

var jsonArray = ["test", "test1", "test2"];
var matchedValue = "test1";

我想从 JsonArray 中删除 remove 和 (matchedValue)。 我如何删除并返回字符串的其余部分

Expected output : ["test", "test2"];

我在做什么 :

var setValue = JSON.parse(fetchMethodJsonArray);
dataRemoved = setValue.filter(function(el) {
              return el != fetchValue;
          });

它不工作

请告诉我解决方案提前致谢。

 // Assuming this is your fetched data const fetchMethodJsonArray = [{ "val": "One" }, { "val": "Two" }, { "val": "Three" }]; var setValue = fetchMethodJsonArray; const dataRemoved = setValue.filter((el) => { return el.val !== "One"; }); console.log(dataRemoved);

从我得到的回答..

jsonArray.splice(jsonArray.indexOf('string_to_search'));

它将删除找到的项目并返回剩余的数组。

你可以使用这个:

const deleteObj = (data, column, search) => {
    let result = data.filter(m => m[column] !== search);

    return result;
}

当您想从 JSON 数组元素中删除对象时,请使用此方法:

 const deleteObj = (data, column, search) => { let result = data.filter(m => m[column] !== search); return result; } const arr = [ { name: 'test', surname: 'test1' }, { name: 'test23', surname: 'newsname' }, { name: 'test23', surname: 'newsname' } ] const deleted = deleteObj(arr, 'name', 'test'); console.log(deleted);

在本示例中,您将使用过滤器方法。 Mozilla 说关于过滤器:

filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。

https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

如果您使用的是 NodeJs,您可以使用“modernarray”,它是一个小而简单的 npm 包。

https://www.npmjs.com/package/modernarray

通过npm install modernarray安装它

let modernarray = require('modernarray');
let myarray = [{
  "val": "One"
}, {
  "val": "Two"
}, {
  "val": "Three"
}];
let outputArray2 = modernarray.popByValue(myarray,{val:"One"})
console.log(outputArray2)

暂无
暂无

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

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