zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    mysql 历史版本下载
    mysql 5.7 版本 You must reset your password using ALTER USER statement before executing this statement报错处理
    5.7 zip 版本的安装 以及遇到的坑
    mysql 5.6zip版本的卸载与5.7 zip 版本的安装
    mysql数据库的备份与还原
    本地Navicat连接docker里的mysql
    docker修改数据库密码
    docker 在push镜像到本地registry出现的500 Internal Server Error
    linux 没有界面内容显示不全解决办法
    json与map互相转换
  • 原文地址:https://www.cnblogs.com/HiuYanChong/p/5287521.html
Copyright © 2011-2022 走看看