2019.7.29二维数组

//什么是:数组中的元素又引用了另一个子数组
//when: 1.保存横行竖列的二维数组结构; 2.对一个组数组进行细致分类时
//创建
var arr = [];//不知道子数组的内容
arr[0] = ['鲍鱼','花甲','海胆','大虾'];
arr[1] = ['牛肉','鸡肉','鸭肉','羊肉'];
arr[2] = ['空心菜','油麦菜','大白菜','黄瓜'];
console.log(arr);
//访问:arr[r][c] 用法和普通数组的用法完全一样
console.log(arr[1][1]);
console.log(arr[2][5]);//undefined;
//创建数组的同时初始化元素
var data = [
// c
// 0 1 2 3
[2,4,4,2],//0 r
[4,4,4,4],//1
[4,2,0,6],//2
[2,2,4,2]//3
];
//遍历二维数组 注意:r(行)下标不能越界!!! 越界会报错
function isFull(){//判断data是否满格
//遍历data
for(var r = 0;r<data.length ;r++){
for(var c = 0;c<data[r].length;c++){
//如果当前元素等于0,就返回false
if(data[r][c] === 0){
return false;
}

 

栈:

JS中并没有专门的栈

栈时一段封闭,只能从另一端出的数组,

特点是FILO first input last out

arr.push()在数组最后追加元素

arr.pp()删除最后一个元素

var bus =[];

for(var i =1;i <=5;i++){

bus.push('乘客' + i);

console.log(String(bus));

}

while(bus.length>0){

var last = bus .pop();

console.log

}

// 队列(queue):只能从一端进入,从另一端出去的数组
// 特点:FIFO
// how :希望按照先后顺序使用数组
// 结尾入:arr.push()
// 开头出:var first = arr.shift()

var iphone = 5;
var queue = [];//购买iphone排队的人
for(var i = 1;i<=5;i++){
queue.push("顾客"+i);
}
console.log(String(queue));
while(iphone>0){
var first = queue.shift();
iphone--;
console.log(first+"购买成功");
console.log(String(queue));
}

 

/*1.创建一个可以存放四组数据的二维数组,循环随机录入数据,计算每一组的
平均值、总和*/
function one(){
var arr = [];
for(var r = 0;r < 4;r++){
var sum = 0;
arr[r] = [];
for(var c = 0;c < 4;c++){
var num = parseInt(Math.random()*10);
arr[r][c]=num;
sum += arr[r][c];
}
console.log('第' + r + '组数的总和是:' + sum);
console.log('第' + r + '组数的平均值是:' + (sum)/4);
}
console.dir(arr);
}

posted @ 2019-07-31 18:09  矜鸾  阅读(86)  评论(0编辑  收藏  举报