2015-10-15 8 views
1

Я изо всех сил пытаюсь вставить новый объект в массив. На данный момент приведенный ниже код просто переписывает один объект. Я вижу данные, которые я хочу нажать на массив, проходящий через консоль, но он просто не сохраняет новый объект. Есть идеи?Добавить новый объект в массив

fs.readFile('check.json', function (err, check) { 
    if (err) throw err; 
    var newData = JSON.parse(check); 

    var tempData =[]; 
    for (var index=0; index<newData.length; index++){ 
     tempData.push(newData); 
     } 
    tempData = newData; 
}); 
+0

Вы назначаете последний элемент в массиве в конце? tempData = newData; – Reinard

+0

вы переписываете массив tempData, назначая его 'newData' в последней строке – Kiz

ответ

3

Типичный подход для переборе массивов, а затем засовывать предметы им бы это

var tempData =[]; 
for (var index=0; index<newData.length; index++){ 
    tempData.push(newData[index]); 
    //      ^add index 
} 
//tempData = newData; remove assignment which overwrites array 
+0

Спасибо. Можете ли вы предложить какое-либо представление о том, как это толкает снаружи с помощью fs? Внешний json возвращается как неопределенный. Тревис J –