web-dev-qa-db-fra.com

Comment vérifier si un tableau existe, sinon le créer, en JavaScript?

Comment puis-je vérifier si un tableau spécifique existe, et sinon, il sera créé?

53
ajsie

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 : []
66
Rich
var arr = arr || [];
52
Brian Campbell
const list = Array.isArray(x) ? x : [x];

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray

Ou si xpourrait ê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

19
mynameistechno

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 = [];
}
12
Gumbo

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 : [];
8
CMS
<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>   
0
M RAHMAN