var mass = [1,3,5,7,2,4];
var b = mass;
b.sort(function(a,b){
return a - b
});
console.log(mass, b);
var b = a.map(function(i){return i});
...
var b = JSON.parse(JSON.stringify(mass));
...
mass
является указателем на массив, и после b = mass
у вас просто две переменных указывают на один и тот же объект в памяти. То же самое будет происходит со всеми типами, кроме элементарных -- строк, чисел и булевых значений.mass.slice(0)
(или [...mass]
в ES6+). Имейте ввиду, что члены массива, если они не элементарного типа, опять таки передадутся по ссылке.