У меня есть два файла JSON. Я хочу сравнить объекты JSON в обоих файлах; json1 и json2. Если в массиве первого файла json (json1) есть объект, которого нет во втором файле json (json2) em>, я хотел бы передать его через приведенный ниже код Nightmare js, а затем передать объект во второй файл json, используя .push().
JS-КОД:
var Nightmare = require('nightmare');
var nightmare = Nightmare({
show: true
});
var json1 = require('./json1.json')
var json2 = require('./json2.json')
for (var i = 0; i < json1.length; i++) {
for (var c = 0; c < json2.length; c++) {
if (json1[i] !== (json2[c])) {
console.log(json1[i])
return nightmare
.goto(json1[0].searchOn)
.insert('.gLFyf', json1[0].searchText)
.wait(3000)
.end()
.evaluate((json2, json1) => {
return json2[c].push(json1[i])
}, json2, json1)
.then()
} else {
console.log('End!')
}
}
}
Данные JSON1
[
{
"searchOn": "https://www.google.com",
"searchText": "I love google"
},
{
"searchOn": "https://www.google.com",
"searchText": "I'm hungry, where can I eat?'"
}
]
Данные JSON2
[
{
"searchOn": "https://www.google.com",
"searchText": "What's the date?"
},
{
"searchOn": "https://www.google.com",
"searchText": "What is the internet"
},
{
"searchOn": "https://www.google.com",
"searchText": "What's the weather like today?"
}
]
Однако код Js дает мне эту ошибку: UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'push' of undefined.
Код также не выполняет кошмарный js-код для всех объектов в цикле (выполняет задачу только для первого элемента.
Посоветуйте, как мне исправить эти ошибки.
С уважением.