如何通过ID [duplicate]从对象的JSON数组中删除元素

piok6c0g  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(67)

此问题在此处已有答案

Find and remove objects in an array based on a key value in JavaScript(14个答案)
10天前关门了。
我给出了这个JSON结构:
第一个月
如何通过键/值从数组中删除一个对象?假设我想删除变量_options = S的元素,如何得到这个结果:
[{"variant_name":"Size","variant_options":["M","L","a"]}]
我试过了,但没有结果

tez616oj

tez616oj1#

要从阵列中就地删除项目,请执行以下操作:
1.用Array::indexOf()查找其索引
1.通过索引Array::splice()删除它

const products = [{"variant_name":"Size","variant_options":["S","M","L","a"]}, {"variant_name":"Size","variant_options":["S","M","L","a"]}];

const removeSize = (product, size) => {
  const idx = product.variant_options.indexOf(size);
  idx >= 0 && product.variant_options.splice(idx, 1);
};

products.forEach(p => removeSize(p, 'S'));

console.log(JSON.stringify(products));

字符串

bxfogqkk

bxfogqkk2#

//get json value from your input
let data = $('#your-input-id').val();

//convert array to json
var parsedTest = JSON.parse(data);

let res = parsedTest.map(val => ({val,
  variant_options: val.variant_options.filter(v_o => v_o !== "S")
}));
console.log(JSON.stringify(res))

个字符

相关问题