我有一個這樣的物件:
let obj = {'machine1':{'err':'404', switch:false},
'gadget1':{'err':'404', switch:true}}
Would not pass validation. => return false
let obj2 = {'machine2':{'err':'404', switch:false},
'gadget2':{'err':null, switch:true}}
Would pass validation. => return true
當開關設定為 true 的物件中的每個鍵都沒有任何錯誤時,我想回傳 true(請參閱 obj2)。(對于 machine2,'404' 錯誤無關緊要,因為開關設定為 false。)
我嘗試過類似的事情,但沒有走遠。
function try() {
for (x in obj) {
obj[x].filter(x=>y.switch === true)
}
}
謝謝閱讀!
uj5u.com熱心網友回復:
您可以執行以下操作:
const test = obj => Object.keys(obj).every(k => !obj[k].switch || obj[k].err === null)
因此,您檢查every物件中的鍵是否已switch設定為 false 或err等于 null。
uj5u.com熱心網友回復:
您可以通過 usignentries和everyhelpers of 來完成Array,如下所示:
let obj = {
'machine1': {
'err': '404',
switch: false
},
'gadget1': {
'err': '404',
switch: true
}
}
let obj2 = {
'machine2': {
'err': '404',
switch: false
},
'gadget2': {
'err': null,
switch: true
}
};
const validate = (data) => {
return Object.entries(data).every(([key, value]) => !value.switch || value.err === null)
}
console.log(validate(obj));
console.log(validate(obj2));
uj5u.com熱心網友回復:
你的意思是這樣嗎?
let obj={
1:{
'machine':{'err':'404', switch:false},
'gadget':{'err':'404', switch:true}
},
2:{
'machine':{'err':'404', switch:false},
'gadget':{'err':null, switch:true}
}
}
我稍微改變了設施以使其更容易。
var n=1;
while (n<=2) {
if(obj[n].machine.switch==true){
if(obj[n].machine.err!='404')
console.log('SUKCES')
else console.log('ERROR 1')
}
else console.log('ERROR 0')
if(obj[n].gadget.switch==true){
if(obj[n].gadget.err!='404')
console.log('SUKCES')
else console.log('ERROR 1')
}
else console.log('ERROR 0')
n ;
}
結果:
錯誤 0
錯誤 1
錯誤 0
蘇克西斯
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/384538.html
標籤:javascript 目的
下一篇:有人可以在方法中解釋這種行為嗎?
