Функция f3 принимает массив простых объектов a в качестве параметра и возвращает массив, элементы которого являются копиями элементов массива a
почему, когда я делаю это утверждение b[0].a = 2;
значение a[0].a;
меняется на
это мой код
<script type="text/javascript">
function f3(obj= [{a: 1, b: 'str'}]) {
let r = [];
for (let prop of Object.values(obj)){
r.push(prop);
}
return(r);
}
const a = [{a: 1, b: 'str'}];
console.log(a[0]);// output {a: 1, b: "str"}
const b = f3(a);
console.log(b[0]);// output {a: 1, b: "str"}
console.log(b[0].a);// output 1
b[0].a = 2;
console.log(a[0]);// output {a: 2, b: "str"}
console.log(b[0]);// output {a: 2, b: "str"}
console.log(a[0].a);// output 2
console.log(b[0].a);// output 2
</script>