首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果满足某些条件,则防止JSON对象呈现

如果满足某些条件,则防止JSON对象呈现
EN

Stack Overflow用户
提问于 2019-02-19 18:49:33
回答 1查看 45关注 0票数 0

我有两个DataTables:“招生”和“特别”。它们包含正在正确呈现的JSON数据。

我想这样做,以便如果有来自招生的某些数据,那么它们将不会被呈现给招生,而是专门的。

对怎么做有什么想法吗?我想,如果我能在特殊表格中显示数据,那么我可以在稍后对招生表做相反的处理。

下面是一个JSON片段,希望它能澄清一些事情:

代码语言:javascript
复制
{
    "d": {
      "results": [
        {
         ...
         "p_h_v": "" // ------------ doesn't meet conditions, gets rendered to Admissions
         ...
        },
        {
         "p_h_v": "Yes" // ---------- meets conditions, gets rendered to Special instead
         ...

用于特殊表的JS片段:

代码语言:javascript
复制
import $ from 'jquery';
import admissData from '../JSON/admiss.json';
import DataTable from 'datatables.net';

function loadAdmiss() {
    let admissText = admissData.d.results.map(function(val) {
        if (val.p_h_v.includes("")) return ""; // ------- I'm thinking that I should include code right here, but I'm not sure
        return {
            "PHV": val.p_h_v,
            ... // ----- irrelevant data
        }
    })

    $('#phv-table').DataTable({
        columns: [
            { data: "PHV" },
                ...
        ],
        ... // ----- irrelevant data

更新:

代码语言:javascript
复制
function loadAdmiss() {
    let admissText = admissData.d.results.filter(val => {
        if (val.p_h_v !== "") {
            return {
                "PHV": val.p_h_v
                ...
            }
        }
    })

    $('#phv-table').DataTable({
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 19:09:59

如果您编写以下内容

代码语言:javascript
复制
admissText = admissData.d.results.filter(x => x.p_h_v !== "");

它将返回带有在results中具有某些值的元素的p_h_v数组。

样本admissText值:

代码语言:javascript
复制
[
    {
        "p_h_v": "some text"
        ...
    },
    {
        "p_h_v": "some text"
        ...
    },
    ...
]

.filter()只需过滤掉一些数据并返回结果。您不能返回另一个数组。为此,您将需要.map()

代码语言:javascript
复制
admissText = admissData.d.results.map(x => {
        if (x.p_h_v !== "") {
            return {
                "PHV": x.p_h_v
            }
        }
    }).filter(x => x !== undefined);

样本admissText值:

代码语言:javascript
复制
[
    {
        "PHV": "some text"
    }
    ...
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54773076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档