美文网首页
JS-二维数组&对象数组&对象中的数组

JS-二维数组&对象数组&对象中的数组

作者: Ann_l | 来源:发表于2017-06-14 09:17 被阅读0次
二维数组

js中只支持一维数组,但是可以通过在数组中保存数组的方式,可以创建二维数组。上创建二维的通用代码。

Array.matix = function (rowsNum, colsNum, init) {
  var arr = []
  for (let i = 0; i < rowsNum; ++i) {
    var initArr = []
    for (let j = 0; j < colsNum; ++i) {
      initArr[j] = init
    }
    arr[i] = initArr
  }
}
var grades = [
  [12, 19, 10],
  [22, 11, 11],
  [77, 77, 77]
]
console.log(grades[0][0])//12

例如分数就是上面的数据,每行就是一个学生的成绩,我现在想得到每个学生的总分和平均分

let totalNum = 0
let average=0
for (let i = 0; i < grades.length; i += 1) {
  for (let j = 0; j < grades[i].length; j += 1) {
    totalNum += grades[i][j]
  }
  average = totalNum / grades[i].length
  console.log(`NO.${i + 1}的总分为:${totalNum}平均分为:${average.toFixed(2)}`)
  totalNum = 0
  average=0
}
NO.1的总分为:41平均分为:13.67
NO.2的总分为:44平均分为:14.67
NO.3的总分为:231平均分为:77.00
对象数组

在对象中,可以使用数组存储复杂的数据,

function Point(x,y) {
  this.x=x
  this.y=y
}
function displayPts(arr) {
  for (let i=0;i<arr.length;i+=1){
    console.log('x:',arr[i].x,',y:',arr[i].y)
  }
}
var p1=new Point(1,2)
//new Fun以后,p1会生成自己的数据块 =》p1:{x:1,y:2}
var p2=new Point(3,4)
var p3=new Point(5,6)
var p4=new Point(7,8)
var points=[p1,p2,p3,p4]
for (let i=0;i<points.length;i+=1){
  console.log(`${i+1}:x${points[i].x},y${points[i].y}`)
}
/*
 1:x1,y2
 2:x3,y4
 3:x5,y6
 4:x7,y8
 */
var p5=new Point(12,3)
points.push(p5)
displayPts(points)
/*
 x: 1 ,y: 2
 x: 3 ,y: 4
 x: 5 ,y: 6
 x: 7 ,y: 8
 x: 12 ,y: 3*/
对象中的数组

我觉得该案例是教会我一个基本的面向对象的思想。将方法继承。
案例:根据导入的数字,求出平均值。


function weekTemps() {
  this.dataSource = []
  this.add = add
  this.average = average
}
function add(temp) {
  this.dataSource.push(temp)
}
function average() {
  var total = 0
  for (let i = 0; i < this.dataSource.length; i += 1) {
    total += this.dataSource[i]
  }
  return total / this.dataSource.length
}
var thisWeek = new weekTemps()
thisWeek.add(11)
thisWeek.add(111)
thisWeek.add(11)
console.log(thisWeek.average())

相关文章

  • JS-二维数组&对象数组&对象中的数组

    二维数组 js中只支持一维数组,但是可以通过在数组中保存数组的方式,可以创建二维数组。上创建二维的通用代码。 例如...

  • 数据格式转换

    map过滤数组中对象 间隔字符插入 判断数组中对象某个属性的值是否都相等 二维数组合并为一维数组

  • 前端有难度的算法题

    将对象数组转为树状对象 // 输入 // 期待输出 // 代码实现 树状对象按照层级转为二维数组 // 输入 //...

  • JavaScript 将对象数组转为二维数组

    利用 JS 原生的数组 map 方法,可以将对象数组转换为二维数组 const objectArray = [ ...

  • JSON数组

    数组作为JSON对象 实例 JSON数组在中括号中书写 JSON对象中的数组 对象属性的值可以是一个数组实例:

  • 如何取出数组中相同的元素,然后组建一个二维数组

    //将一维数组中相同的对象类型 添加到一个新数组,将所有的新数组放在一个大数组中 转为二维数组 arrayrese...

  • [C++之旅] 14 对象成员与对象数组

    [C++之旅] 14 对象成员与对象数组 对象数组 使用方式 从栈中实例化对象数组类名 对象名[对象个数];对象名...

  • HZ数组对象去重

    // 根据数组对象中属性去重 思路:在原数组对象中 直接捡出 不重复的 数组对象, 过程:1.获取不重复的属性数组...

  • 引用类型数组

    数组是对象 在Java中,数组属于引用类型数据数组数据在堆中存储,数组变量属于引用类型,存储数组对象的地址信息,指...

  • JS数组以及数组变换

    有关数组 数组对象——一种特殊的对象JS其实没有数组,只使用对象来模拟数组 典型数组和JS数组的区别 典型数组 元...

网友评论

      本文标题:JS-二维数组&对象数组&对象中的数组

      本文链接:https://www.haomeiwen.com/subject/pwvjqxtx.html