var numbers = [1, 4, 9]
var roots = numbers.map(item => {
return Math.sqrt(item)
})
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
因为Math.sqrt只有一个参数,所以可简写为
var numbers = [1, 4, 9]
var roots = numbers.map(Math.sqrt)
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
需要注意 parseInt 方法是有两个参数的
["1", "2", "3"].map(parseInt); // 期望输出 [1, 2, 3], 而实际结果是 [1, NaN, NaN].
解决方法
function returnInt(element) {
return parseInt(element, 10);
}
['1', '2', '3'].map(returnInt); // [1, 2, 3]
var kvArray = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
var reformattedArray = kvArray.map(function(obj) {
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
});
// reformattedArray 数组为:[{1: 10}, {2: 20}, {3: 30}],
// kvArray 数组未被修改:
// [{key: 1, value: 10},
// {key: 2, value: 20},
// {key: 3, value: 30}
当返回undefined 或没有返回任何内容时:
var numbers = [1, 2, 3, 4];
var filteredNumbers = numbers.map(function(num, index) {
if(index < 3) {
return num;
}
});
//index goes from 0,so the filterNumbers are 1,2,3 and undefined.
// filteredNumbers is [1, 2, 3, undefined]
// numbers is still [1, 2, 3, 4]
小程序框架mpVue教程
链接:https://pan.baidu.com/s/1MVo5i4QpYhDxObvgek04BQ
提取码:hwyn