как проверить, существует ли конкретный массив, и если он не будет создан?
Javascript: проверьте, существует ли массив, если его не создать
Ответ 1
Если вы хотите проверить, существует ли массив x и создать его, если это не так, вы можете сделать
x = ( typeof x != 'undefined' && x instanceof Array ) ? x : []
Ответ 2
var arr = arr || [];
Ответ 3
Вы можете использовать оператор typeof
для тестирования undefined и instanceof
, чтобы проверить, есть ли экземпляр массива:
if (typeof arr == "undefined" || !(arr instanceof Array)) {
var arr = [];
}
Ответ 4
let list = Array.isArray(x) ? x : [];
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Или, если var x может быть массивом, и вы хотите убедиться, что он один:
let list = [].concat(x);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
Ответ 5
Если вы хотите проверить, является ли объект уже массивом, чтобы избежать известных проблем оператора instanceof
при работе в многокомпонентных сред DOM, вы можете использовать метод Object.prototype.toString
:
arr = Object.prototype.toString.call(arr) == "[object Array]" ? arr : [];
Ответ 6
Если вы говорите о среде браузера, то все глобальные переменные являются членами объекта window. Итак, чтобы проверить:
if (window.somearray !== undefined) {
somearray = [];
}