我已经尝试使用三元运算符进行空验证,但它没有返回数据。 下面是我的 json 对象
var data = [ { "name": "test", "domain": "domain1", "subdomain": "subdomain1", "type": "yes" }, { "name": "hello", "domain": "domain2", "subdomain": "subdomain6", "type": "no" }, { "name": "test1", "domain": "domain2", "subdomain": "subdomain6", "type": "no", "desc":"helloo" } ];
下面是我的过滤js代码
var data = [{
"name": "test",
"domain": "domain1",
"subdomain": "subdomain1",
"type": "yes"
},
{
"name": "hello",
"domain": "domain2",
"subdomain": "subdomain6",
"type": "no"
},
{
"name": "test1",
"domain": "domain2",
"subdomain": "subdomain6",
"type": "no",
"desc":"helloo"
}
];
var namesearch = ["hello"];
var result = data.filter((d)=>{return
namesearch.length > 0 ? namesearch.includes(d.name):'' });
console.log(JSON.stringify(result));
最佳答案
您的代码中有一个小错误。不能在 return 关键字后使用换行符,在这种情况下 javascript
将返回 undefined。
var data = [
{
name: "test",
domain: "domain1",
subdomain: "subdomain1",
type: "yes"
},
{
name: "hello",
domain: "domain2",
subdomain: "subdomain6",
type: "no"
},
{
name: "test1",
domain: "domain2",
subdomain: "subdomain6",
type: "no",
desc: "helloo"
}
];
var namesearch = ["hello"];
var result = data.filter(d => {
return namesearch.length > 0 ? namesearch.includes(d.name) : "";
});
console.log(JSON.stringify(result));
关于javascript - 无法检查过滤器内的空验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60027830/