$("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]
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))
["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]