04.数组练习.html 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. function Person(name, age, gender) {
  10. this.name = name;
  11. this.age = age;
  12. }
  13. //修改Person原型的toString
  14. Person.prototype.tostring = function () {
  15. return "Person[name=" + this.name + ",age=" + this.age + "]";
  16. };
  17. //创建一个Person对象
  18. var per = new Person("孙悟空", 18);
  19. var per2 = new Person("二师兄", 28);
  20. var per3 = new Person("红孩儿", 8);
  21. var per4 = new Person("蜘蛛精", 16);
  22. var per5 = new Person("玉兔精", 38);
  23. /*
  24. 将这些person对象放入到一个数组中
  25. */
  26. var perArr = [per, per2, per3, per4, per5];
  27. // console.log(perArr);
  28. /*
  29. 创建一个函数,可以将perArr中的满18岁的Person提取出来
  30. 然后封装到一个新的数组中并返回
  31. arr
  32. 形参,要提取信息的数组
  33. */
  34. function getAdult(arr) {
  35. //创建一个新的数组
  36. var newArr = [];
  37. //遍历arr,获取arr中的Person对象
  38. for (var i = 0; i < arr.length; i++) {
  39. var p = arr[i];
  40. // console.log(p);
  41. //判断Person中的对象是否大于等于18
  42. if(p.age>=18){
  43. //如果大于等于18,则将这个对象添加到newArr中
  44. //将对象放入到数组中
  45. newArr.push(p);
  46. }
  47. }
  48. // console.log(newArr);
  49. //将新的数组返回
  50. return newArr;
  51. }
  52. var result = getAdult(perArr);
  53. console.log(result);
  54. </script>
  55. </head>
  56. <body>
  57. </body>
  58. </html>