Не поймите это неправильно, но ваш код настолько запутан в разных местах, что я бы посоветовал вам еще раз взглянуть на абсолютные основы JavaScript.
- Это недопустимоСинтаксис JS. По сути, это объект, который никогда не назначается переменной.
{
"messages": [{
"msgFrom": "13223821242",
"msgBody": "Hi there"
}, {
"msgFrom": "Bill",
"msgBody": "Hello!"
}]
}
Удалите внешние фигурные скобки и используйте var messages = [...]
, чтобы установить массив в качестве переменной messages
.
var messages = [{
"msgFrom": "13223821242",
"msgBody": "Hi there"
}, {
"msgFrom": "Bill",
"msgBody": "Hello!"
}]
Вы никогда не вызываете функцию анонимной стрелки, ссылка на которую loop
. Вызовите его через loop()
.
, что приведет к бесконечному циклу, поскольку возвращаемое значение на самом деле является вызовом функции, снова и снова вызывая указанную функцию.
Вы возвращаетесь из своей функции до того, как console.log()
когда-либо будет достигнут, поэтому ничего не будет зарегистрировано.
Вы должны нажать messages[i]
, как messages[1]
всегда выдвигает второй элемент (индексы JS начинаются с нуля)
Чтобы обернуть все это, вот очищенный и работающий код (который по сути ничего не делает, так как он просто копирует всеэлементы из одного массива в другой):
var messages = [{
"msgFrom": "13223821242",
"msgBody": "Hi there"
}, {
"msgFrom": "Bill",
"msgBody": "Hello!"
}];
var loop = () => {
var arr = []
for (var i = 0; i < messages.length; i++) {
arr.push(messages[i])
}
// return loop()
console.log(arr)
}
loop();