JSFiddle - React, Tailwind, and code Playground

JavaScript

const originalArray = [1, 'a', false, {foor: 'bar'}];
const newArray = [];

originalArray.forEach((v, i) => {
	const val = (typeof v === 'object') ? Object.assign({}, v) : v;
	newArray.push(val);
});

newArray[0] = newArray[0] + 1;
newArray[1] = 'b';
newArray[2] = true;
newArray[3] = Object.assign(newArray[3], {bar: 'foo'});

console.log('original:%o', originalArray);
console.log('new:%o', newArray);