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

时间:2018-01-09 07:43:17

标签: javascript jquery

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;
          });

无效

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

4 个答案:

答案 0 :(得分:1)



// 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);




答案 1 :(得分:0)

回答我得到的......

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

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

答案 2 :(得分:0)

您可以使用:

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);




在此示例中,您将使用filter方法。 Mozilla谈到过滤器:

  

filter()方法创建一个包含所有传递元素的新数组   由提供的函数实现的测试。

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

答案 3 :(得分:0)

如果你使用 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)