關(guān)于sort和forEach里面的函數(shù)
var?arr?=['ap','b','c','d','e']; arr.forEach(function(y,x,a){ console.log(y?+?'1'?+?x?+?'1'?+?(a===arr)) });
像這個,參數(shù)y x a為什么就是默認(rèn)指的是數(shù)組的序號以及數(shù)組的值???還是不太理解這個forEach屬性然后里面添加函數(shù)這種是什么意思。
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的參數(shù)里面加這么一個函數(shù),就可以使得從小到大排序。。。。
哪位好心人幫忙解答一下
2016-10-18
第一個問題:
forEach函數(shù)的聲明是這樣的:
可以看到,第一個參數(shù)是數(shù)組的值,第二個是索引,第三個是數(shù)組。如果使用時只用一個參數(shù),只會遍歷值,不會訪問另外兩個值。
第二個問題:
看見sort可以接收一個比較函數(shù),來決定元素的排序規(guī)則,如果缺省,將按ASCII character 規(guī)則排序。
是否還有疑問?