soy un nuevo desarrollador de nodejs
tengo dos archivos txt como file1.txt y file2.txt file1.text los datos son diferentes y los datos file2.txt son diferentes pero el ID del cliente es el mismo basado en el ID del cliente cómo obtener datos de dos archivos
file1.txt data is: [{'customerid':12, 'name':'xyz', 'email':'test@gmail.com' }, {'customerid':14, 'name':'def', 'email':'def@gmail.com' }, {'customerid':15, 'name':'pqr', 'email':'pqr@gmail.com'} ,{'customerid':17, 'name':'abc', 'email':'abc@gmail.com'}] file2.txt data is: [{ ' customerid':12, 'vachilenum':26789, 'price':390900920, "phone":673648494894 }, {'customerid':14, 'vachilenum':26789, 'price':390900920, "phone":673648494894 }, {'customerid':15, 'vachilenum':26789, 'price':390900920, "phone":673648494894 }, {'customerid':17, 'vachilenum':26789, 'price':390900920, "phone":673648494894 }];Estoy probando este código, pero no me esperan. Ponga a alguien, por favor sugiérame
const arr1 = fs.readFileSync('file1.txt', 'utf8').toString(); console.log(arr1) const arr2 = fs.readFileSync('file2.text', 'utf8').toString(); console.log(arr2) const merge = (arr1, arr2) => { const temp = [] arr1.forEach(x => { arr2.forEach(y => { if (x.id === y.id) { temp.push({ ...x, ...y }) } }) }) return temp } console.log(merge(arr1, arr2)) expected outputt is {'customerid':12, 'name':'xyz', 'email':'test@gmail.com' 'vachilenum':26789, 'price':390900920, "phone":673648494894 },Intente usar la función de map en combinación con find y devolver el objeto fusionado.
Además, es posible que desee analizar el contenido del archivo en un objeto JSON:
const arr1 = JSON.parse(fs.readFileSync('file1.txt', 'utf8')); console.log(arr1); const arr2 = JSON.parse(fs.readFileSync('file2.text', 'utf8')); console.log(arr2); const merge = (arr1, arr2) => { return arr1.map(x => { const y = arr2.find(val => val.customerid === x.customerid); if (!y) return x; return { ...x, ...y } }) }; console.log(merge(arr1, arr2));