我有两个数据表:“准入”和“特殊”。它们包含正确呈现的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
...
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({
答案 0 :(得分:1)
如果您编写以下内容
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"
}
...
]