let arr = ['test1','test2']
let obj = { test0:'xxx'}
想通过循环arr,if判断时得到以下结果,即把数组中的元素当做obj的key加到if判断中
if( obj.test0 && obj.test1 && obj.test2){
}
let arr = ['test1','test2']
let obj = { test0:'xxx'}
想通过循环arr,if判断时得到以下结果,即把数组中的元素当做obj的key加到if判断中
if( obj.test0 && obj.test1 && obj.test2){
}
我的最简单粗暴的思路:
let condition = true;
for (let i = 0; i < arr.length; i++) {
condition = condition && obj[arr[i]];
}
if (condition) {
...
}
let arr = ['test1', 'test2']
let obj = { test0: 'xxx'}
// 判断 arr 中的元素,是否全部是 obj 对象中的 key:
{
const keyInObj = arr.every(key => key in obj);
if (keyInObj) {
// 代码块
}
}
/ *
* 判断 arr 中的元素,是否全部是 obj 对象中的 key,并且
* 转换 boolean 后为 true:
/
{
const keyInObjIsTruthy = arr.every(key => obj[key]);
if (keyInObjIsTruthy) {
// 代码块
}
}
let arr = ['test1', 'test2'];
let obj = { test0: 'xxx' };
if (arr.every(key => obj.hasOwnProperty(key))) {
// 代码
}
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决