Day3
- 遍历数组:使用for循环来便利数组。如果,array中没有内容,打印出来的为undefined
- let array=['刘德华','刘晓庆','刘亦菲','刘若英']
- for(let i=0;i<array.length;i++)
- {
- document.write(`<h1>${array[i]}</h1>`)
- }
- 退出循环:break;
- 循环可以嵌套,for里面还可以嵌套for循环,外层循环循环一次,内存循环循环一轮
- 打印出三角形星星:
- 九九乘法表:
- span{
- width: 100px;
- height: 35px;
- text-align: center;
- line-height: 35px;
- display: inline-block;
- border: 1px solid red;
- padding: 5px 10px;
- margin:5px;
- border-radius: 12px;
- box-shadow: 5px 5px 5px rgba(255, 192, 203);
- }
- <script>
- for(let i=1;i<=9;i++)
- {
- for(let j=1;j<=i;j++)
- {
- document.write(`<span>${j}*${i}=${i*j}</span>`)
- }
- document.write("<br>")
- }
- </script>
- 数组的增、删、改、查:
- 数组的字面量声明: let arr=[1,2,”pink”,true]
- new Array 构造函数声明 let arr=new Array(1,2,3,4)
- 数组求和:
- let arr=[2,6,1,7,4 ]
- let sum=0;
- for(let i=0;i<arr.length;i++)
- {
- sum+=arr[i];
- }
- document.write(`<span>${sum}</span>`)
- 找数组中最大值,最小值
- 查·数组:通过数组的下标来查询。
- 改·数组:也是通过下标来找到数组的对应位置,进行修改。修改的值,会覆盖之前的值。
- 例如: arr[i]=arr[i]+”李成林” , 把第i个位置的数组的值使用+,变成字符串相连接的形式,重新赋给,arr[i] 这个数组的位置。
- 增·数组:
- arr.push ( ), 方法将一个或者多个元素添加到数组的末尾,并且返回改数组的新长度。(直接输出arr.push(),可以知道现在的数组的长度)括号中直接输入改元素,数字类型直接输入,字串加” ”,多个元素使用 , 分开
- arr.unshift ( ),在数组的最前面插入数据,并且也返回数组的长度。其余用法同上。
- 数组筛选案例:把某个数组中大于10的元素筛选出来,放入新数组。不能对原数组有影响。
- // 筛选出大于10的元素
- let arr=[2,0,6,11,77,0,52,0,25,7]
- let newArr=[] //声明一个空素组,要加[]
- for(let i=0;i<arr.length;i++)
- {
- if(arr[i]>10)
- {
- newArr.push(arr[i])
- }
- }
- for(let i=0;i<newArr.length;i++)
- {
- document.write(`<span>${newArr[i]}</span>`)
- }
- 删·数组:
- arr.pop( ):删除数组中的最后一个元素,并且返回该元素,一次只能删除一个。 括号里面不用参数,但是必须写。
- arr.shift( ):删除数组中的第一个元素,并且返回该元素,一次只能删除一个。括号里面不用参数,不能省略。
- arr.splice( ):删除指定元素。(参数1,参数2),第一个参数是删除的起始位置,从这里开始删除。第二个参数删除的个数,如果不写,默认全部删除。(抽奖,购物车删除商品)
- 案例:生成柱形图。
- 要求:
- 需要输入4次数据,放到一个数组里面。(循环)
- 遍历数组,根据数据生成4个柱形,渲染到页面。(柱形,就是div,设置宽度,高度,高度为用户输入的数据,,div里面包含数据和第几季度)
- 15、冒泡排序(双重循环):(5个数字)
- (1)外层循环:
- 外层循环表示趟数,5个数据走4趟,长度就是数组长度-1: arr.length-1;
- (2)内层循环:
- 第一趟:交换4次,
- 第二趟:交换3次
- 第三趟:交换2次
- 第四趟:交换1次
- 最终长度为:数组长度-次数,但是我们从0次开始
- arr.length-i-1
- 交换两个变量
- 从小到大排序,第一个数,大于第二个数才交换
- a[j]>a[j+1],才交换,交换采用第三个变量的方法。
- 数组排序在开发中一般使用sort方法来排序:
- arr.sort(function(a,b){ return a-b} )升序
- arr.sort(function(a,b){ return b-a})降序