jQuery与JS中的map()方法使用

前端开发 作者: 2024-08-20 19:10:01
1.jquery中的map()方法 首先看一个简单的实例: 语法:.map(callback(index,domElement))用法:map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回
$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(",") );
<form method="post" action="">
  fieldset>
    div>
      label for="two">2</labelinput type="checkbox" value="2" id="two" name="number[]"="four">4="4"="four"="six">6="6"="six"="eight">8="8"="eight">
form>
$(':checkbox').map(() {
  return .id;
}).get().join(',');
$.map( [0,1,2],(n){
  return n + 4;
});
[].map((value,index,array) {
    // ...
});
var data = [1,2,3,4];
var arrayOfSquares = data.map( (item) {
  return item * item;
});
alert(arrayOfSquares);  1,4,9,16
var users = [
  {name: "张含韵","email": "zhang@email.com"},{name: "江一燕","email": "jiang@email.com"}
];
var emails = users.map(function (user) { return user.email; });
console.log(emails.join(","));  zhang@email.com,jiang@email.com,li@email.com
if (typeof Array.prototype.map != "function") {
  Array.prototype.map =  (fn,context) {
    var arr = [];
    typeof fn === "function") {
      for (var k = 0,length = this.length; k < length; k++) {      
         arr.push(fn.call(context,this[k],k,1)">));
      }
    }
     arr;
  };
}
 var result = [1,3].map((val,array){
      return val *val;
  });
 console.log(result); [1,9]

怎样在字符串中使用map

var map = Array.prototype.map
var a = map.call("Hello World",1)">function(x) { return x.charCodeAt(0); })
 a的值为[72,101,108,111,32,87,114,100]
var str="Hello world!"
document.write(str.charCodeAt(1))

由map方法引发的一个题目["1","2","3"].map(parseInt)

["1","3"].map(parseInt);
 你可能觉的会是[1,3]
// 但实际的结果是 [1,NaN,NaN]

 通常使用parseInt时,只需要传递一个参数.但实际上,parseInt可以有两个参数.第二个参数是进制数.可以通过语句"alert(parseInt.length)===2"来验证. map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素,元素索引,原数组本身. 第三个参数parseInt会忽视,但第二个参数不会,也就是说,parseInt把传过来的索引值当成进制数来使用.从而返回了NaN.

应该使用如下的用户函数returnInt
 returnInt(element){
  return parseInt(element,10);
}

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

parseInt()方法

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_65674.html