А можешь подсказать как решить такую проблему
<script>
var electrical =[{name: "Anton", age: "20"}, {name: "Artem", age: "#23"}, {name: "Rafik", age: "32"}, {name: "Andrey", age: "30"}];
var personal =[{name: "Anton", status: "7^W#Yes"}, {name: "Artem", status: "#Yes"}, {name: "Rafik", status: "hghg#No"}];
var createArr = (...arg) => {
var objName = {};
return [].concat(...arg).reduce((ar, el)=>
{
let name = el.name;
let obj = objName[name];
if(!obj) {objName[name] = {...el}; ar.push(objName[name])}
else Object.assign(obj, el);
return ar;
}, []
)
};
var arr = createArr(electrical, personal);
console.log(arr);
arr.forEach(function(element) {
if (element.hasOwnProperty("status")) {
element.status = (element.status).split('#')[1];
};
if (element.hasOwnProperty("age")) {
element.age = (element.age).split('#')[1];
};
});
</script>
получается проблема в том что там где # нет, мне выдает undefined, а как сделать так что бы у меня показывал место undefined тот тект который там указан без #
Например вот так-
(4) [{…}, {…}, {…}, {…}]
0: {name: 'Anton', age: '20', status: 'Yes'}
1: {name: 'Artem', age: '23', status: 'Yes'}
2: {name: 'Rafik', age: '32', status: 'No'}
3: {name: 'Andrey', age: '30'}
length: 4
а так на данный момент -
(4) [{…}, {…}, {…}, {…}]
0: {name: 'Anton', age: undefined, status: 'Yes'}
1: {name: 'Artem', age: '23', status: 'Yes'}
2: {name: 'Rafik', age: undefined, status: 'No'}
3: {name: 'Andrey', age: undefined}
length: 4