javascript - 根据不匹配某些值返回 JSON

标签 javascript arrays json

我正在使用 javascript 处理 JSON,并且只想返回不包含冠词的值。对于下面的 JSON

var json = [
    {
        id: 1,
        path: ["home>blog","home>article"]
    },
    {
        id: 2,
        path: ["home>blog"]
    },
    {
        id: 3,
        path: ["home>blog"]
    },
    {
        id: 4,
        path: ["home>blog","home>article"]
    },
]

我想得到最终结果 -

var final = [
    {
        id: 2,
        path: ["home>blog"]
    },
    {
        id: 3,
        path: ["home>blog"]
    }
]

我怎样才能达到这个结果?

最佳答案

使用.some().includes()你实现了这一点。

尝试以下操作:

const json = [{ id: 1, path: ["home>blog","home>article"] }, { id: 2, path: ["home>blog"] }, { id: 3, path: ["home>blog"] }, { id: 4, path: ["home>blog","home>article"] }];

const result = json.filter(e => !e.path.some(s => s.includes('article')));

console.log(result);

希望这会有所帮助!

关于javascript - 根据不匹配某些值返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61058014/

相关文章:

c# - 在C#中将字符串转换为json数组

javascript - 客户端分页无法在 jqGrid 中使用 JSON

javascript - 鼠标移动时的空闲事件 - 如何在鼠标移动时永久停止脚本

javascript - 点击跳转到位置(从其他 Vue 组件访问类)

javascript - 我如何给某些边缘上课?

json - 用 Cheerio 抓取,文字不可见

javascript - 意外的字符串

基于 fstat 的 c 动态数组大小

java - 无法在 for-each 循环中写入 "i+2"作为后置条件 [Java]

c++ - 如何打印 JSON 数组