function square(arr) {
var result=[].concat(arr);
result.forEach(function(i){
i=i*i;
console.log(i);
})
return result;
}
var arr=[1,2,3,4];
cons
Re-assigning that value to i
won't update the original array.
You don't need to concat that array, just initialize that array as empty []
.
function square(arr) {
var result = [];
arr.forEach(function(i) {
i = i * i;
result.push(i);
});
return result;
}
var arr = [1, 2, 3, 4];
console.log(square(arr))
You could define a square function for a single value as callback for Array#map for getting a squared array.
function square(v) {
return v * v;
}
var array = [1, 2, 3, 4];
console.log(array.map(square));
forEach
is iterating the array but it is not returning anyvvalue.Use map function which will return a new array with updated result
function square(arr) {
return arr.map(function(i) {
return i * i;
})
}
var arr = [1, 2, 3, 4];
console.log(square(arr))
If you still intend to use forEach
push the updated values in an array and return that array