Я учусь программировать в Javascript, и мне нужна помощь/разъяснение.Javascript: вызов функции в литературе объекта
Я объявил массив, содержащий имена животных. Я определил функцию, которую я использую, чтобы разделить строку на две части. Затем я создаю пустой литерал объекта и добавляю животное и соответствующую породу. Я пытаюсь вызвать функцию separateWords в объектном литерале, но мне нужно уточнение. Вот мой код:
var myPets = ["Bengal Bobcat", "Beagle"];
var separateWords = function (string) {
return string.split(" ");
};
var nameCollection = {};
nameCollection.cat = separateWords(myPets[0]);
nameCollection.dog = myPets[1];
nameCollection.fish = null;
Когда я вхожу console.log (nameCollection) я получаю следующее:
Object {cat: Array[2], dog: “Beagle”, fish: null}
cat: Array[2]
0: "Bengal"
1: "Bobcat"
length: 2
Однако, когда я вхожу console.log (separateWords (myPets [0])), Я вижу:
[“Bengal”, “Bobcat”]
Я не понимаю, почему значение кошки появляется как массив [2].
Вот как это делает консоль. Он по-прежнему представляет собой массив с двумя элементами, которые вы можете проверить дальше. – elclanrs
, если вы нажмете на слово 'Array', оно будет расширяться, чтобы отобразить его содержимое. Оно отображает только примитивные типы. (string, number, boolean, null, undefined). Это просто то, как работает отладчик, ничего плохого в вашем коде или том, как он хранится. –
Это всего лишь короткий способ отобразить его браузером. Firefox тоже делает это. В Firefox вы можете просто нажать «Массив», чтобы увидеть значения. – Xufox