我有以下代碼作業正常,它檢查null如果遇到空值,它會停止檢查并列印控制臺日志。
const data = [
{
"filename": "deletetestOne.js",
"answer1": "Y",
"answer2": null,
"riskLevel1": null,
"description": ""
},
{
"filename": "deletetestThird.js",
"answer1": null,
"answer2": "Y",
"riskLevel1": "1",
"description": ""
}
]
const isNull = (val) => val === null;
const hasNull = data.some(function (item) {
return Object.values(item).some(isNull);
});
console.log(hasNull ? "Some of the values are null": "All good");
剛剛包含上面的代碼以顯示我如何檢查null與我正在尋找的內容無關的值。我的新資料如下所示,沒有任何空值:
現在我有一個稍微不同的資料,它不再包含null值:
const data = [
{
"filename": "deletetestOne.js",
"answer1": "Y",
"answer2": "N",
"riskLevel1": "2",
"description": ""
},
{
"filename": "deletetestThird.js",
"answer1": "N",
"answer2": "N",
"riskLevel1": "1",
"description": ""
}
]
我想對上述資料的answer1關鍵元素進行具體檢查。如果找到,Y那么它應該停止檢查,否則繼續列印 的值answer1,這可能是N。
我的要求:
我想檢查answer1關鍵元素是否包含Y,如果包含,那么我想跳出回圈并列印一個控制臺日志說Found Y in answer1. 如果沒有,那么我可以列印一個控制臺日志說Didn't find Y in answer1
uj5u.com熱心網友回復:
只需使用.some()并檢查您的"answer1"財產價值"Y"
const data1 = [{"answer1": "Y"}, {"answer1": "N"}];
const data2 = [{"answer1": "N"}, {"answer1": "N"}];
const someIsY = (arr) => arr.some(ob => ob.answer1 === "Y");
console.log(someIsY(data1)) // true
console.log(someIsY(data2)) // false
獲取您的特定“日志”用途:
const report = someIsY(data1) ? "Found Y in answer1" : "Didn't find Y in answer1";
console.log(report); // "Found Y in answer1"
使您的功能在匹配使用中更加靈活:
const data1 = [{"answer1": "Y"}, {"answer1": "N"}];
const data2 = [{"answer1": "N"}, {"answer1": "N"}];
const somePropVal = (arr, prop, val) => arr.some(ob => ob[prop] === val);
console.log(somePropVal(data1, "answer1", "Y")) // true
console.log(somePropVal(data2, "answer1", "Y")) // false
console.log(somePropVal(data2, "answer1", "N")) // true
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487204.html
標籤:javascript
