javascript - Obtendo o tamanho de um array 'nomeado'?
Não tenho certeza de como eles são chamados, mas o que quero dizer é isto:
array["water"] = 50;
array["fire"] = 30;
o comprimento deve ser 2 aqui
como posso ver quantos atributos eu tenho no array? array.length não funciona =( Estou tentando todo tipo de coisa e sinto que estou perdendo algo realmente simples aqui..
Obrigado pela sua ajuda
Resposta #1
Você pode usar Object.keys() para obter um array de chaves e, em seguida, contá-las:
Object.keys(array).length
Ou, se você estiver mirando no ECMAScript 3 ou de outra forma não tiver Object.keys(), então você pode contar as chaves manualmente:
var length = 0;
for (var key in array) {
if (array.hasOwnProperty(key)) {
++length;
}
}
Existem alguns casos extremos com essa abordagem, dependendo dos navegadores que você está visando, então usar o polyfill da Mozilla para Object.keys() pode ser uma boa ideia.
