關于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的參數里面加這么一個函數,就可以使得從小到大排序。。。。
哪位好心人幫忙解答一下
2016-10-18
第一個問題:
forEach函數的聲明是這樣的:
可以看到,第一個參數是數組的值,第二個是索引,第三個是數組。如果使用時只用一個參數,只會遍歷值,不會訪問另外兩個值。
第二個問題:
看見sort可以接收一個比較函數,來決定元素的排序規則,如果缺省,將按ASCII character 規則排序。
是否還有疑問?