JS中数组Array方法

概述

map()方法返回一个由原数组中的每个元素调用一个指定的方法后的返回值组成的新数组。

语法

array.map(callback[, thisArg])

参数

callback
原数组中的元素经过该方法后返回一个新的元素。

currentValue
callback的第一个参数,数组中当前被传递的元素。

index
callback的第二个参数,数组中当前被传递的元素的索引。

array
callback的第三个参数,调用map方法的数组。

thisArg
执行callback函数时this指向的对象。

描述

map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值组合起来形成一个新数组。callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。

callback 函数会被自动传入三个参数:数组元素,元素索引,原数组本身。

如果 thisArg 参数有值,则每次 callback 函数被调用的时候,this 都会指向 thisArg 参数上的这个对象。如果省略了 thisArg 参数,或者赋值为 null 或 undefined,则 this 指向全局对象 。

map 不修改调用它的原数组本身(当然可以在 callback 执行时改变原数组)。

用法

用法一:

["1", "2", "3"].map(parseInt); 
/**
* 你可能觉的会是[1, 2, 3]
* 但实际的结果是 [1, NaN, NaN]
* 使用parseInt时,只需要传递一个参数.而parseInt可以有两个参数.第二个参数是进制数.
* map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素, 元素索引, 原数组本身.
* 第三个参数parseInt会忽视, 但第二个参数不会.
* 也就是说,parseInt把传过来的索引值当成进制数来使用.从而返回了NaN.
* 即:第一个参数正常使用,第二个当做进制数,第三个以及之后的会被忽视
*/

//应该使用如下的用户函数returnInt

function returnInt(element){
  return parseInt(element,10);
}

["1", "2", "3"].map(returnInt);
// 返回[1,2,3]

用法二:

/**
* 将data,data2两个数组组合成json的格式
*/

var data = ["a","b","c","d","e","f","g","h","i","j"];
var data2 =  [1,2,3,4,5,6,7,8,9,10];


//方法一:(一般项目中不会这么拼接)

var array1 = data.map(function(item){
    var name  = "'name'";
    return name+":'"+item+"',";
});
var array2 = data2.map(function(item){
    var value = "'value'";
    return value+":'"+item+"'";
});

var arr = new Array();

for(var i = 0;i<data.length;i++){
    arr[i] = "{"+array1[i]+array2[i]+"}";   
}
var a = '['+arr+']';
document.write(a);



//方法二:(建议使用这种)

var aaa = data.map(function(item,index){
    return {
        name : item,
        value : data2[index]
    }
});
document.write(JSON.stringify(aaa));
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript数组方法用于对数组进行各种操作和转换。下面是一些常见的数组方法: 1. push():将一个或多个元素添加到数组的末尾。 2. pop():移除并返回数组的最后一个元素。 3. shift():移除并返回数组的第一个元素。 4. unshift():将一个或多个元素添加到数组的开头。 5. concat():将两个或多个数组合并为一个新数组。 6. slice():返回选定数组的一部分,不修改原始数组。 7. splice():从数组添加、删除或替换元素。 8. indexOf():返回指定元素在数组的第一个匹配位置的索引。 9. lastIndexOf():返回指定元素在数组最后一个匹配位置的索引。 10. forEach():对数组的每个元素执行提供的函数。 11. map():对数组的每个元素执行提供的函数,并返回新数组。 12. filter():根据指定的条件筛选数组元素,并返回一个新数组。 13. reduce():从左到右对数组的每个元素执行提供的函数,以将其减少为单个值。 14. reduceRight():从右到左对数组的每个元素执行提供的函数,以将其减少为单个值。 15. sort():对数组的元素进行排序。 16. reverse():颠倒数组的元素顺序。 17. join():将数组的所有元素连接成一个字符串。 18. includes():判断数组是否包含某个元素。 19. every():判断数组的每个元素是否都满足指定条件。 20. some():判断数组的某个元素是否满足指定条件。 以上是一些常见的数组方法。你可以根据需要选择适合的方法来操作和处理数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值