javascript
JavaScript学习笔记之数组(二)
JavaScript學習筆記之數組(二)
1.['1','2','3'].map(parseInt) 輸出什么,為什么?
['1','2','3'].map(parseInt)//[1,NaN,NaN]// map有三個參數:數組元素,元素索引,數組本身
// parseInt有兩個參數,元素本身以及進制parseInt(string,radix)
['1','2','3'].map(parseInt); ['1','2','3'].map(function(item,index,array){ return parseInt(item,index); });
parseInt("1",0); => 1
parseInt("2",1); => NaN
parseInt("3",2); => NaN
語法:parseInt(string , radix)
參數:radix
可選。表示要解析的數字的基數。該值介于 2 ~ 36 之間。
如果該參數小于 2 或者大于 36,則 parseInt() 將返回 NaN。
當參數 radix 的值為 0或沒有設置該參數時,parseInt() 會根據 string 來判斷數字的基數。如果參數string以 “0x” 或 “0X” 開頭,將以 16 為基數。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進制的整數。
2.對數組['2018-03-05', '2013-06-12','2019-03-12','2018-03-05','2014-02-22']去重且排序
let arr = [...new Set(['2018-03-05', '2013-06-12','2019-03-12','2018-03-05','2014-02-22'])].sort(function(a,b){return a<b ? -1:1; }) //["2013-06-12", "2014-02-22", "2018-03-05", "2019-03-12"]3.數組去重
方法一
var arr = [1, 1, '', '', 'a', 'a', true, true, 'true', 'true', false, false, 'false', 'false'] function uniqueArray(array) {var arr1 = []for (let i = 1; i < array.length; i++) {if (arr1.indexOf(array[i]) === -1) {arr1.push(array[i])}}console.log(arr1)// [1, "", "a", true, "true", false, "false"]return arr1 } uniqueArray(arr)方法二
var arr={'0':null,'1':null,'2':'','3':'','4':4,'5':4,length:'6'} function uniqueArray(array) {if (Array.isArray(array)) {array1=array} else if(array.length>0){var array1 = Array.prototype.slice.call(array)}else{console("參數必須是數組或類數組對象")return}var arr1 = []for (let i = 1; i < array1.length; i++) {if (arr1.indexOf(array1[i]) === -1) {arr1.push(array1[i])}}console.log(arr1)//[null, "", 4]return arr1 } uniqueArray(arr)方法三
var arr = [1, 1, ' ', ' ', 'a', 'a', undefined, undefined, null, null] function uniqueArrar(array) {if (Array.isArray(array) && array.length >1){var temp=[]array.forEach(function(value,index){if(temp.indexOf(value)===-1){temp.push(value)}}) }return temp } uniqueArrar(arr)//[1, " ", "a", undefined, null]3.對數組[1,2,3,4,5,'6',7,'8','a','b','z']實現亂序
let tempArr = [1, 5, '6', 7, '8', 'a', 'b', 'z'].sort(function () {return Math.random() > 0.5 ? -1 : 1; })4.求[1, 10, 11, -1, 8, 9]內最大值與最小值
var arr = [1, 10, 11, -1, 8, 9] function MaxMinPlus(arr) {if( Array.isArray(arr)){var max=Math.max.apply(null, arr) var min=Math.min.apply(null, arr)}console.log(max)//11console.log(min)//-1 } MaxMinPlus(arr)如果是類數組,可以使用Array.prototype.slice.call()的方法轉換為數組
5.一個數組中存放了多個人員的信息,每個人員的信息由 name 和 age 構成, 實現年齡從小到大的排序;
var obj = [{age:4,name:'張三'},{age:3,name:'李四'},{age:5,name:'王五'},{age:1,name:'趙二'} ]var obj1 = obj.sort(function(a,b){return a.age - b.age; }) console.log(obj1)轉載于:https://www.cnblogs.com/qfstudy/p/8981152.html
總結
以上是生活随笔為你收集整理的JavaScript学习笔记之数组(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USACO-Section1.3 Dua
- 下一篇: USACO-Section1.4 Pri