我希望检查event
中的所有值都包含在state
中。是这样的函数应该返回true,否则为false。这样做的好方法是什么?确保阵列中的所有值都在另一个阵列中
const state = [1,2,4,5,6,7]
const event = [1,2]
if(state.contains(event))(}
我希望检查event
中的所有值都包含在state
中。是这样的函数应该返回true,否则为false。这样做的好方法是什么?确保阵列中的所有值都在另一个阵列中
const state = [1,2,4,5,6,7]
const event = [1,2]
if(state.contains(event))(}
您可以使用every()
和includes()
阵列方法:
const state = [1, 2, 4, 5, 6, 7];
const event = [1, 2];
console.log(event.every(x => state.includes(x)));
确定是否一个事件包含的数据不存储在状态:
let state = [1,2,3,5,6,7,8,9];
let event = [1,2,3];
console.log(event.some(a=>!state.includes(a)));
event = []
console.log(event.some(a=>!state.includes(a)));
event = [4]
console.log(event.some(a=>!state.includes(a)));
event = [1,2,4]
console.log(event.some(a=>!state.includes(a)));
state = [];
event = [1,2,3];
console.log(event.some(a=>!state.includes(a)));
event = []
console.log(event.some(a=>!state.includes(a)));
event = [4]
console.log(event.some(a=>!state.includes(a)));
event = [1,2,4]
console.log(event.some(a=>!state.includes(a)));
如果您有任何问题,最好将它留作评论,或手动测试代码,以便您知道它是正确的,不得不问。此代码不起作用,因为在这种情况下'find'不是正确的功能。 – loganfsmyth
@loganfsmyth更新我的回答 – Baz
将你的代码与@ Gothdo的答案进行比较,你会发现你仍然返回错误的值。如果包含所有内容,则您要求“true”,如果不包含某些内容,则此答案为“true”。 – loganfsmyth
重复http://stackoverflow.com/q/16312528/218196 –