我有两个DataTables:“招生”和“特别”。它们包含正在正确呈现的JSON数据。
我想这样做,以便如果有来自招生的某些数据,那么它们将不会被呈现给招生,而是专门的。
对怎么做有什么想法吗?我想,如果我能在特殊表格中显示数据,那么我可以在稍后对招生表做相反的处理。
下面是一个JSON片段,希望它能澄清一些事情:
{
"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片段:
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更新:
function loadAdmiss() {
let admissText = admissData.d.results.filter(val => {
if (val.p_h_v !== "") {
return {
"PHV": val.p_h_v
...
}
}
})
$('#phv-table').DataTable({发布于 2019-02-19 19:09:59
如果您编写以下内容
admissText = admissData.d.results.filter(x => x.p_h_v !== "");它将返回带有在results中具有某些值的元素的p_h_v数组。
样本admissText值:
[
{
"p_h_v": "some text"
...
},
{
"p_h_v": "some text"
...
},
...
].filter()只需过滤掉一些数据并返回结果。您不能返回另一个数组。为此,您将需要.map()。
admissText = admissData.d.results.map(x => {
if (x.p_h_v !== "") {
return {
"PHV": x.p_h_v
}
}
}).filter(x => x !== undefined);样本admissText值:
[
{
"PHV": "some text"
}
...
]https://stackoverflow.com/questions/54773076
复制相似问题