如何检查通过rest参数传递的对象是否为null或未定义?

webMonk

function extend(...args),如果我运行该函数并在此传递一个null对象

function extend({}),如何检查它是否为null或未定义。

输入: const first = { x: 2, y: 3}; const second = { a: 70, x: 4, z: 5 }; const third = { x: 0, y: 9, q: 10 }; const firstSecondThird = extend(first, second, third);

预期的输出:{ x: 2, y: 3, a: 70, z: 5, q: 10 }我还必须检查中的每个条目...args,它是否是对象并且未定义;如果未定义,则必须抛出错误。我还必须检查至少有两个参数。

马埃里·阿里(Maheer Ali)
  • 您可以检查lengthObject.keys检查{}Boolean({})原样true
  • 使用includes()检查是否args含有nullundefined
  • 使用some()typeof检查array的所有元素是否都是object
  • 如果不希望发生两次,您不希望您的属性被覆盖。那你可以reverse()

function extend(...args){
  if(args.length < 2) throw ("Length is less than 2");
  if(!args.some(arg => typeof arg !== "object" || Object.keys(arg).length >=2 )) throw ("Arguments contain something other than object")
  if(args.includes(undefined) || args.includes(null)) throw ("Arguments contain null or undefined");
  else return Object.assign(...args.reverse()) 
   
}
const first = { x: 2, y: 3}; 
const second = { a: 70, x: 4, z: 5 };  
const third = { x: 0, y: 9, q: 10 };  
const firstSecondThird = extend(first, second, third);
console.log(firstSecondThird)


console.log(extend({}));
console.log(extend(1,2,3, undefined));
console.log(extend(1,2,3, null));
console.log(extend([]));

以上所有if语句可以组合为一个语句。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查对象是否为空并具有未定义的属性

JavaScript检查数组对象是否存在或未定义

检查对象是否未定义

如何检查3个参数在JavaScript中是否为null或未定义?

c#使用lambda检查对象是否为某种动态类型(通过参数传递)

我如何检查对象是否未定义(javascript)?

如何使用“ as”检查对象是否为参数传递的类型?

如何检查对象是否为方法定义?

如何在不出现控制台错误的情况下检查 API 对象是否未定义?

如何使用打字稿使用辅助函数检查对象是否具有未定义的值?

即使我检查对象是否存在条件也可能未定义对象

javascript-检查对象参数是否未定义

如何在JavaScript中检查变量是否为null和/或未定义

如果对象未定义,如何检查特定键是否未定义?

javascript-检查对象是否为函数的参数

检查Excel VBA中对象是否为Null

避免使用If语句检查对象是否为Null

检查 JSON 对象是否为 null swift 3

在Linq查询中检查对象是否为Null

如何检查用户是否未定义

如何检查JavaScript对象是否为DOM对象?

如何检查null或未定义的方法?

如何在Inno Setup Pascal脚本中检查对象是否为NULL?

与TS一起检查两个可选参数是否已通过或未定义

JavaScript,一种检查嵌套对象属性是否为空/未定义的优雅方法

检查字符串是否为null或未定义总是返回False

如何优化检查对象数组的每个对象的条件是否未定义特定属性?

如何检查对象是否为日期?

如何检查对象是否为空