JSFiddle - React, Tailwind, and code Playground

JavaScript

var data = [{
    nome: 'a',
    numero: 2
}, {
    nome: 'b',
    numero: 3
}, {
    nome: 'c',
    numero: 3
}, {
    nome: 'd',
    numero: 8
}];
var dataNota = [{
    nf: 9999,
    numero: 2
}, {
    nf: 2000,
    numero: 3
}, {
    nf: 1000,
    numero: 5
}];

function misturar(obj, referencia) {
    if (!obj) return;
    var id = obj.numero;
    if (!referencia[id]) referencia[id] = {};
    for (var prop in obj) {
        referencia[id][prop] = obj[prop];
    }
}

var dados = {};
var length = Math.max(data.length, dataNota.length);
for (var i = 0; i < length; i++) {
    misturar(data[i], dados);
    misturar(dataNota[i], dados);
}
console.log(JSON.stringify(dados));