js數組練習


  1 //查找數組對象中 age 大於 18 對象
  2 function filterAdult(arr) {
  3     return arr.filter(function(item, index, array) {
  4         return (item.age > 18);
  5     });
  6 }
  7 filterAdult([
  8     {age: 19, name:'Jack'},
  9     {age: 5, name:'Apple'},
 10     {age: 12, name:'Lynn'},
 11     {age: 25, name:'David'}
 12 ]);
 13 
 14 
 15 //判斷數組中是否所有的數字都大於 0 
 16 function isAllNumPosive(arr) {
 17     return arr.every(function(item, index, array) {
 18         if (typeof item === "number") {
 19             return (item > 0);
 20         } else {
 21             return true;
 22         }
 23     });
 24 }
 25 isAllNumPosive([1, 2, 3, 4]);  // 輸出 true
 26 isAllNumPosive([1, 2, 3, 4, -1]);  // 輸出 false
 27 isAllNumPosive([1, 2, 3, 4, 'a', {a:3}]);  // 輸出 true
 28 
 29 
 30 
 31 //改變傳入的數組,將數組中第 n(從 0 開始算 ) 個元素放到數組的開頭 
 32 function putFirst(arr, index) {
 33     var item = arr.splice(index, 1);
 34     arr.unshift(item[0]);
 35     return arr;
 36 }
 37 var arr = [1, 2, 3, 4];
 38 putFirst(arr, 2);
 39 
 40 //將數組中數字內容求和
 41 function sum(arr) {
 42     var sum = 0;
 43     for (i in arr) {
 44         if (typeof arr[i] === 'number') {
 45             sum += arr[i];
 46         }
 47     }
 48     return sum;
 49 }
 50 sum([1, 2, 3, 4]);  // 輸出 10 
 51 sum(['a', 1, 2, {a:3}, 3, 4, 1.2]);  // 輸出 11.2
 52 
 53 
 54 //將數組元素按 age 字段的值,從小到大排序 
 55 function sortAge(arr) {
 56     return arr.sort(function(v1, v2) {
 57         if (v1.age < v2.age) {
 58             return -1;
 59         } else {
 60             return 1;
 61         }
 62     });
 63 }
 64 sortAge([
 65     {age: 19, name:'Jack'},
 66     {age: 5, name:'Apple'},
 67     {age: 12, name:'Lynn'},
 68     {age: 25, name:'David'}
 69 ]);
 70 
 71 
 72 //將數組元素去重,其中數組元素均為基本類性 
 73 function uniq(arr) {
 74     var newArr = [];
 75     var isUniq = true;
 76     for (i in arr) {
 77         for (j in newArr) {
 78             if (arr[i] === newArr[j]) {
 79                 isUniq = false;
 80             }
 81         }
 82         if (isUniq) {
 83             newArr.push(arr[i]);
 84         } else {
 85             isUniq = true;
 86         }
 87     }
 88     return newArr;
 89 }
 90 uniq([1,2,2,3,4,4,4,4]); // 輸出 [1,2,3,4]
 91 uniq([1,2,'M','e','r', 'r', 'y']); // 輸出 [1,2,'M','e','r','y']
 92 
 93 
 94 //將數組內容亂序 
 95 function random(arr) {
 96     return arr.sort(function() {
 97         return (Math.random()>0.5?-1:1);
 98     })
 99 }
100 random([1,2,3,4]);
101 
102 
103 //未解決!!!!
104 // 將 arguments 對象轉換成數組 
105 function toArray(obj) {
106     var array = [];
107     for (i in obj) {
108         array.push(obj[i]);
109     }
110     return array;
111 }
112 (function(){
113     var arr = toArray(arguments);
114     Array.isArray(arr); 
115 })(1, 2);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM