js入門(7)
arguments
arguments 類陣列 存放所有的實參
類陣列 具有索引值,但是不能使用陣列下的api(push,pop,splice…)
filter 過濾
過濾
filter() 作用:過濾陣列中元素,返回新陣列存放過濾元素
引數 回撥函式
回參一item 陣列元素
回參二index 索引值
var res = arr.filter(function(item,index){
—> 是可以先修改元素,後篩選的
item arr 陣列中元素 index 索引值
console.log(item,index);
return 後面跟 條件表示式
res 接受滿足條件的所有元素;並存放在陣列中
return item.age>32
})
foreach
forEach()作用:遍歷陣列
回參一:陣列元素
回參二:索引值
arr.forEach(function(item,index){})
map
1.遍歷陣列 返回新陣列
新陣列中內容就是return 返回的內容
與過濾區別,過濾是根據條件篩選,返回條件表達返回值
item 陣列元素 index 是索引
newArr 存放return返回的內容
var newArr = arr.map(function(item,index){
return item
})
2.修改資料,重組資料,原來的arr沒變化
var res = arr1.map(function(item){
item = item * 2;
return item;
})
reduce
reduce() 沒有初始值
可以用reduce 實現累加等運算,並返回運算結果
var arr = [1,2,3,5]
var res = arr.reduce(function(accumulator,currentValue,currentIndex,sourcArray)
{
accumulator 記錄累計運算結果
accumulator 陣列索引的元,這個元素是運算的運算元
currentIndex 索引值,不是從0開始的
sourArray 原陣列
console.log(accumulator,currentIndex,currentValue,sourcArray);
return accumulator+currentValue;
})
注意 回參一 初始值為number型別 預設賦值 oders[0]
reduce(fun,param) 參二作用:給回參一sum賦初始值 改變預設orders[0]
var res = orders.reduce(function(sum,item){})
some
some() 檢查陣列中是否存在滿足條件的元素,滿足返回true;不滿足 返回false
var res = produce.some(function(item){})
陣列求最大值&最小值
求最大值 方式一
var max = arr[0];
for(var i=0;i<arr.length;i++){
var max = arr[0] // bug 永遠都是初始化–> 導致第一個數於最後一個陣列比較大小
max = Math.max(max,arr[i])
}
console.log(max);
求最大值 方法二
var max = arr.reduce(function(pre,next){
return Math.max(pre,next);
});
console.log(max);
方法三:利用排序
sort() 排序 引數 函式
arr1.sort(function(a,b){
a-b 升序 b-a 降序
注意 number型別排序,如果是字串,更具第一個字元的編碼值大小進行排序
return a-b
})
var max = arr1[arr.length-1]
console.log(arr1);
es6 很巧
var arr2 = [10,101,56,2,4,6,7,1];
var max1 = Math.max(…arr2);
console.log(max1);
陣列排序
選值排序 將定某個位置是最大值
用將定的最大值 與其他元素比較
在比較過程中進行,如果存在與比最大值還大的數,就進行換值處理
以此類推,做到大值在前 小值在後 實現降序效果
for(var i = 0;i<arr.length;i++){
arr[i] // 用arr[i] 與陣列中所有的元素
for(var j =0;j<arr.length;j++){
if(arr[i] > arr[j]){
大值在前,小值災後
問題:arr[i] 前 arr[j] 後
—> 換值處理
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp
}
}
}
console.log(arr);
相關文章
- Threes.js入門篇之7 - 場景光照JS
- JSP入門JS
- RxJS入門JS
- nodejs入門NodeJS
- SQL入門之7 鎖SQL
- Rxjs建模入門JS
- Nodejs入門(一)NodeJS
- JSP_入門JS
- Rxjs光速入門JS
- DvaJS快速入門JS
- NuxtJS快速入門UXJS
- JS快速入門(一)JS
- RequireJS入門指南UIJS
- angularJs入門教程AngularJS
- [js物件]JS入門之arguments物件JS物件
- [js物件]JS入門之Array物件JS物件
- [nodejs] NodeJs/NPM入門教程NodeJSNPM
- 第7天:CSS入門(轉)CSS
- D3.js入門JS
- PostgreSQL JSONB 使用入門SQLJSON
- 【入門指南】node.jsNode.js
- package.json 入門PackageJSON
- MQTT.js 入門教程MQQTJS
- nodejs入門-圖譜NodeJS
- Three.js 入門示例JS
- Vue.js快速入門Vue.js
- nodejs 入門基本操作NodeJS
- rxjs簡單入門JS
- nodejs入門指南(一)NodeJS
- nodejs入門指南(二)NodeJS
- Underscore.js 入門教程JS
- require.js入門教程UIJS
- ExpressJS入門指南(二)ExpressJS
- JS-基礎入門JS
- AngularJS + Express JS入門搭建網站AngularJSExpress網站
- NodeJs 入門到放棄 — 入門基本介紹(一)NodeJS
- EF7建立模型入門篇模型
- J2EE入門(7) (轉)