數組操作練習

前提條件

概要

類型:實踐
難度:中等

任務描述

題 1:查找數組對象中 age 大于 18 對象
編寫函數 filterAdult,滿足

filterAdult([
  {age: 19, name:'Jack'},
  {age: 5, name:'Apple'},
  {age: 12, name:'Lynn'},
  {age: 25, name:'David'}
]);
// 輸出
[
  {age: 19, name:'Jack'},
  {age: 25, name:'David'}
]

題 2:判斷數組中是否所有的數字都大于 0
編寫函數 isAllNumPosive,滿足

isAllNumPosive([1, 2, 3, 4]);  // 輸出 true
isAllNumPosive([1, 2, 3, 4, -1]);  // 輸出 false
isAllNumPosive([1, 2, 3, 4, 'a', {a:3}]);  // 輸出 true

題 3:改變傳入的數組,將數組中第 n(從 0 開始算 ) 個元素放到數組的開頭
編寫函數 putFirst,滿足

var arr = [1, 2, 3, 4];
putFirst(arr, 2);
// 此時 arr為 [3, 1, 2, 4]

題 4: 將 arguments 對象轉換成數組
編寫函數 toArray,滿足

(function(){
  var arr = toArray(arguments);
  Array.isArray(arr); // 輸出 ture
})(1, 2);

**題 5:將數組中數字內容求和 **
編寫函數 sum,滿足

sum([1, 2, 3, 4]);  // 輸出 10 
sum(['a', 1, 2, {a:3}, 3, 4, 1.2]);  // 輸出 11.2

題 6: 將數組元素按 age 字段的值,從小到大排序
編寫函數 sortAge,滿足

sortAge([
  {age: 19, name:'Jack'},
  {age: 5, name:'Apple'},
  {age: 12, name:'Lynn'},
  {age: 25, name:'David'}
]);
// 輸出
[
  {age: 5, name:'Apple'},
  {age: 12, name:'Lynn'},
  {age: 19, name:'Jack'},
  {age: 25, name:'David'}
]

題 7: 將數組元素去重,其中數組元素均為基本類性
編寫函數 uniq,滿足

uniq([1,2,2,3,4,4,4,4]); // 輸出 [1,2,3,4]
uniq([1,2,'M','e','r', 'r', 'y']); // 輸出 [1,2,'M','e','r','y']

題 8: 將數組內容亂序
編寫函數 random,滿足

random([1,2,3,4]); // 輸出的可能是 [1,2,3,4] 或 [1,3,4,2] 或 [3,4,1,2] 等等隨機可能
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容