题目描述:
为数组 arr 中的每个元素求二次方。不要直接修改数组 arr
,结果返回新的数组
解决方法
1. 遍历数组直接赋值
function square(arr) {
var arr_new = [];
for(var i = 0;i < arr.length;i++){
arr_new[i] = arr[i]*arr[i];
}
return arr_new; //1,4,9,16
}
var arr = [1, 2, 3, 4];
document.write(square(arr));
2. map()
map()
方法返回一个新数组
,数组中的元素为原始数组元素调用函数处理后的值。map()
方法按照原始数组元素顺序依次处理元素。- 注意:
map()
不会对空数组进行检测。 - 注意:
map()
不会改变原始数组。
function square(arr) {
//return arr.map(item => item*item); //使用箭头函数
return arr.map(function(item){
return item*item;
})
}
var arr = [1, 2, 3, 4];
document.write(square(arr));