2 回答

TA貢獻1833條經驗 獲得超4個贊
您可以檢查數組是否包含任何對象name = "All"。
那么,return true如果
數組有name = "All"對象,數組的長度是1
或者數組沒有name = "All"
function checkObj(arr) {
const hasAll = arr.some(o => o.name === "All")
return (arr.length === 1 && hasAll) || !hasAll
}
這是一個片段:
function checkObj(arr) {
const hasAll = arr.some(o => o.name === "All")
return (arr.length === 1 && hasAll) || !hasAll
}
const obj1=[{id:1,name:"All",value:"all"},{id:2,name:"Sun",value:"sun"},{id:3,name:"Mon",value:"mon"},],
obj2=[{id:4,name:"Thur",value:"thur"},{id:8,name:"Mon",value:"mon"},],
obj3=[{id:1,name:"Thur",value:"thur"},{id:5,name:"All",value:"all"},{id:2,name:"Mon",value:"mon"},{id:6,name:"All",value:"all"}],
obj4=[{id:1,name:"All",value:"all"}];
console.log( checkObj(obj1) )
console.log( checkObj(obj2) )
console.log( checkObj(obj3) )
console.log( checkObj(obj4) )

TA貢獻1785條經驗 獲得超4個贊
你可以Array#every
在計數超過一時短路。
function checkArray(array) {
? ? return array.every((count => ({ name }) => (count += name === "All") < 2)(0));
}
var array1 = [{ id: 1, name: "All", value: "all" }, {? id: 2, name: "Sun", value: "sun" }, { id: 3, name: "Mon", value: "mon" }],
? ? array2 = [{ id: 4, name: "Thur", value: "thur" }, { id: 8,? name: "Mon", value: "mon" }],
? ? array3 = [{ id: 1, name: "Thur", value: "thur" }, { id: 5, name: "All",? value: "all" }, { id: 2, name: "Mon",? value: "mon" }, { id: 6, name: "All", value: "all" }];
console.log(checkArray(array1), checkArray(array2), checkArray(array3));
添加回答
舉報