Comment puis-je vérifier si un tableau spécifique existe, et sinon, il sera créé?
Si vous voulez vérifier si un tableau x existe et le créer sinon, vous pouvez le faire
x = ( typeof x != 'undefined' && x instanceof Array ) ? x : []
var arr = arr || [];
const list = Array.isArray(x) ? x : [x];
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Ou si x
pourrait être un tableau et que vous voulez vous assurer qu'il en est un:
const list = [].concat(x);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
Vous pouvez utiliser l’opérateur typeof
pour tester undefined et l’opérateur instanceof
pour vérifier s’il s’agit d’une instance de Array:
if (typeof arr == "undefined" || !(arr instanceof Array)) {
var arr = [];
}
Si vous voulez vérifier si l'objet est déjà un tableau, pour éviter les problèmes connus de l'opérateur instanceof
lorsque vous travaillez dans des environnements DOM multi-trames, vous pouvez utiliser la méthode Object.prototype.toString
:
arr = Object.prototype.toString.call(arr) == "[object Array]" ? arr : [];
<script type="text/javascript">
array1 = new Array('Apple','mango','banana');
var storearray1 =array1;
if (window[storearray1] && window[storearray1] instanceof Array) {
alert("exist!");
} else {
alert('not find: storearray1 = ' + typeof storearray1)
}
</script>