js day3
for循环打印*
let num1=+prompt("要打印的层数:")
for()let i=0;i<=num1;i++){
for(let j=1;j<=i;j++){
doucument.writeln(`*`)
}
document.writeln(`<br>`)
}
do……while循环
do{
document.writeln(i)
i++
}while(i>20)——先执行再判断
数组
一组数据的集合,在内存中是连续的内存空间
[元素1,元素2,元素3,……,元素n] 元素:数据当中的每一个值就是一个元素
且元素数据类型可以不同
let arr1=["张三”,“李四",1,2,3,true,false]
//instanceof:可以判断某个数据是否是某种数据类型
console.log(arr1 instanceof Array)
数组下标:每一个元素位的编号,从左往右从0开始
查看数组元素:数组名[数组下标]——console.log(arrr1[1])
通过下标对元素重新赋值
系统提供的Array进行数组的创建
let arr2 =new Array(可指定长度)
arr2[0]="zhangsan"
arr2[1]="lisi"
arr2[3]=3
arr4[4]="juju"
console.log(arr2)
let arr3=new Array("zhangsan","lisi",3,"juju")
comsole.log(arr3)
let num=[1,2,3,4,5,6]
//遍历数组 数组下标
//数组存在一个属性是length,记录数组内元素长度
console.log(num.length)for(let i=0;i<num.length;i++)//打印出来为对应下标
console.log(num[i])//打印出来为值
length返回的是数组元素的长度,最大的数组下标=arr1.length+1
循环加强
for in
for of——快速遍历数组和对象
for (let i in num ) -------取数组下标
{console.log(arr1[i])}
for (let i of num)-------取值
数组的方法
1.增删改查
增删——数组的方法
unshift():在数组是最前面添加元素 对象.属性 对象.方法
arr.unshift("gao" )
shift():删除掉数组最前面的元素
arr.shift()
push():在数组最后面添加元素
arr.push("yu","io")
pop():删除掉数组最后一个元素
concat():数组的拼接——拼接不改变原来数组
arr3=arr.concat(arr1)----可以一次性拼接多个数组,数组之间用逗号隔开
join():通过指定字符把数组的元素拼接成字符串
reverse():反转数组——改变原来数组
slice():提取数组里的子数组
arr.slice(1,3)——切从1开始不包含3【1,3)去左不取右
arr.slice(1,7)
sort():数组排序——默认按照字符串排序
splice(num1,num2)从索引下标为num1的地方删除掉连着的num2个元素
灵活的添加元素splice(num1,0,num2)在下标为num1的位置添加元素num2
二维数组
let arr=[1,2,"zhamhsan",[1,2,3]]
console.info(arr[4][1])
let arr2=new Array(new Aarry(1,2,3))
冒泡排序
依次比较相邻的两个元素
let arr1=[5,1,13,23,4]
for(let i=0;i<=arr1.length-1;i++){
for(let j=0;j<arr1.length-i-i;j++){
if(arr1[j]>arr1[j+i]){
arr1[j],arr1[j+i]=arr1[j+i],arr1[j]
}
}
}
数组:
arr1.forEach();遍历数组的
arr1.forEach(function(x){
console.log(x)
});