Ric*_*ich 79
如果要检查数组x是否存在并创建它,如果不存在,则可以执行此操作
x = ( typeof x != 'undefined' && x instanceof Array ) ? x : []
Run Code Online (Sandbox Code Playgroud)
Bri*_*ell 59
var arr = arr || [];
Run Code Online (Sandbox Code Playgroud)
myn*_*hno 27
const list = Array.isArray(x) ? x : [x];
Run Code Online (Sandbox Code Playgroud)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
或者如果x 可能是一个数组,你想确保它是一个:
const list = [].concat(x);
Run Code Online (Sandbox Code Playgroud)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
Gum*_*mbo 12
您可以使用typeof运算符测试undefined和instanceof运算符来测试它是否是Array的实例:
if (typeof arr == "undefined" || !(arr instanceof Array)) {
var arr = [];
}
Run Code Online (Sandbox Code Playgroud)
如果要检查的对象已经是一个数组,避免了众所周知的问题的的instanceof多框DOM环境中工作时操作,您可以使用Object.prototype.toString方法:
arr = Object.prototype.toString.call(arr) == "[object Array]" ? arr : [];
Run Code Online (Sandbox Code Playgroud)