亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于sort和forEach里面的函數

var?arr?=['ap','b','c','d','e'];

			arr.forEach(function(y,x,a){

				console.log(y?+?'1'?+?x?+?'1'?+?(a===arr))
			});

像這個,參數y x a為什么就是默認指的是數組的序號以及數組的值???還是不太理解這個forEach屬性然后里面添加函數這種是什么意思。

var?arr?=[12,43,4];
			//?document.write(arr.sort());
			function?w(value1,value2){
				if(value1<value2){
					
					return?-1;
				
				}else?if(value1>value2){
					
					return?1;
				
				}else{
					
					return?0;
				}
			}
			document.write(arr.sort(w));

還有這個,我也不太理解,為什么在這個sort的參數里面加這么一個函數,就可以使得從小到大排序。。。。

哪位好心人幫忙解答一下

正在回答

1 回答

第一個問題:

forEach函數的聲明是這樣的:

forEach(callbackfn:?(value:?T,?index:?number,?array:?T[])?=>?void,?thisArg?:?any):?void;

可以看到,第一個參數是數組的值,第二個是索引,第三個是數組。如果使用時只用一個參數,只會遍歷值,不會訪問另外兩個值。

第二個問題:

/**
??*?Sorts?an?array.
??*?@param?compareFn?The?name?of?the?function?used?to?determine?the?order?of?the?elements.?If?omitted(缺省),?
?????the?elements?are?sorted?in?ascending,?ASCII?character?order.
??*/
sort(compareFn?:?(a:?T,?b:?T)?=>?number):?T[];

看見sort可以接收一個比較函數,來決定元素的排序規則,如果缺省,將按ASCII character 規則排序。

是否還有疑問?

0 回復 有任何疑惑可以回復我~
#1

樓蘭王子

可見,不是看見。
2016-10-18 回復 有任何疑惑可以回復我~
#2

深夏之葉 提問者

我看到array里面有很多自帶的這些函數,我們都可以在里面自定義一些函數,就是根據這個數組自帶的函數來實現我們需要的功能是把?就像還有map every 這些也是類似的? PS 你是怎么調用查看它的函數的
2016-10-18 回復 有任何疑惑可以回復我~
#3

樓蘭王子 回復 深夏之葉 提問者

你說得對??梢栽趀very等 這些函數中自定義我們自己的規則函數。 我用的webStorem,鼠標選擇該函數比如every ,摁ctrl鍵皆可以查看函數什么方式。
2016-10-18 回復 有任何疑惑可以回復我~
#4

樓蘭王子 回復 樓蘭王子

webstorm
2016-10-18 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

關于sort和forEach里面的函數

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號