数组~遍历~冒泡排序~二维数组

数组:
1.数组的定义:内存中一块连续的存储单元,这些存储单元具有共同的名称、不同的索引(下标)
2.数组的声明:
    1.数组的字面量:[ ]
     2.var arr = [ ]声明数组.数组名为arr,数组没有元素
2.Array对象 new Array()
3.数组的属性:length-->表示数组元素的个数。数组名:length
4.数组元素的索引(下标)-->[n]:n为索引,从0开始到元素的个数减1
5.数组元素的访问:数组名【索引】
6.数组的遍历:不重复的访问数组的每个元素
1)使用for循环遍历:

for(let i = 0;i < a.length;i++){
console.log(a[i]);
}

(2)使用for...in循环:
for(index in 数组名){
循环体语句
}
index:表示的是数组元素的索引
例如 for(let i in arr){
console.log(arr[i]);
}

3)使用for...of循环:
​ for( value of 数组名){
循环体语句
}
value:表示数组元素

例如:for(let value of arr){
console.log(value);-->依次将数组arr中的元素赋给value
}

for...of循环
for(value of 数组名){循环体语句}

使用for...of进行遍历
for(let value of arr){
console.log(value);-->依次将数组arr中的元素赋给value
}

(5) forEach循环遍历数组元素
数组名.forEach(function(value,index));{函数体语句}
value:数组元素
index:数组元素的下标(数组元素在数组中的位置编号);

例如: arr.forEach(function(value,index){
console.log(index + `:` + value);
})


map函数
map函数遍历数组,实际是对数组的过滤。
返回一个新的数组,原数组不变

let 新数组名 = 原数组名.map(function(item)){
return item:函数体语句
}
item表示数组元素

冒泡排序
原理:大的向下沉,小的向上冒
for(let i = 0;i < arr.length;i++){
for(let j = 0; j < arr.length-1;j++){
if(arr[j] > arr[j+1]){
temp =arr[j]
arr[j]=arr[j+1]
arr[j+1] = temp
}
}
}

var二维数组:
数组中每个元素都有两个下标(由行和列组成的数组)
1.通过字面量[ ]
var arr = [[1,2,3],[4,5,6],[7,8,9]]
2.使用Array对象:
var arr = new Array(new Array(1,2,3),new Array(4,5,6),new Array(7,8,9))

采用循环嵌套输出
二维数组匀速访问:数组名[行下标][列下标]

输出一个二维数组

var arr = [[1,2,3],[4,5,6],[7,8,9]]
let str = "";
for(let i = 0;i < arr.length;i++){ (控制数组的行数)
for(let j = 0;j <arr[i].length;j++){ (控制数组的列数)
str += arr.[i][j] + "\t"; (列与列的间隔)
}
str += "\n"; (换行)
}
console.log(str);

会输出一个三行三列的二维数组,如下
1 2 3
4 5 6
7 8 9

二维数组对角线元素之和;
let sum = 0 左上-右下对角线
let suw = 0 左下-右上对角线

for(let i=0;i<arr.length;i++){
sum += arr[i][i]
suw += arr[i][arr.length - i - 1]
}
console.log('左上-右下对角线元素之和:',sum)
console.log('左下-右上对角线元素之和:',suw)

转发

评论

1

转发

评论

点赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值