数组
数组是一组数据的集合,可以一次保存多条数据
定义数组的方式
字面量方式:var ary = [ ]
通过构造函数定义:var ary = new Array( )
赋值
直接赋值,值与值之间用 “,”隔开。值可以是任何的一种数据类型
通过索引的方式赋值:
索引从 0 开始
数组名 [索引号] = 值
取值
通过索引取值
数组名[索引]
其他操作
冒泡排序:
思路:两个循环嵌套,一个循环表示趟数,另外一个循环,比较大小交换位置
提炼:
// 1. 将一组数字进行相邻的值两两比较大小
// 2. 在比较过程中涉及到交换位置(如果前一个值比后一个值大,就交换位置, 升序)
// 3. 如果前一个值比后一个值小,就交换位置, 降序
代码:
//1. 先确定要比较的趟数(比总数少1)
for(var i = 0; i < ary.length - 1; i++) {
// 2. 需要将数组中每一个值进两两比较大小(遍历数组,得到数组中的每一个值)
for(var j = 0; j < ary.length; j++) {
if(ary[j] < ary[j+1]) {
// 交换位置
var c = ary[j];
ary[j] = ary[j+1];
ary[j+1] = c;
}
}
}
console.log(ary);
升序:从小到大
降序:从大到小
动态赋值
数组名[数组名.length] = 值
遍历数组:for循环遍历
获取数组值的个数, 通过 数组名.length
拓展知识点
获取系统时间
步骤:
1. 定义一个日期对象
var 变量名 = new Date()
2.从日期对象中获取 年 月 日 时 分 秒
年
var year = 变量名.getFullYear( );
月
var month = 变量名.getMonth() + 1; 月份从0开始
日
var riqi = 变量名.getDate();
时
var hour = 变量名.getHours();
分
var m = 变量名.getMinutes();
秒
var s = 变量名.getSeconds();
截取字符串
写法:字符串.split('分割符')
结果:得到的是一个字符串的数组,数组中放的的都是字符串
Math方法
Math.random():产生随机数 , 大于等于0 且 小于1
Math.floor():
Math.floor() 返回的永远都是一个整数
如果当前数字本身就是一个整数,则就返回本身
返回一个小于或等于当前数字的整数,且与当前数字最接近
Math.ceil():
Math.ceil() 返回的永远都是一个整数
如果当前数字本身就是一个整数,则就返回本身
返回一个大于或等于当前数字的整数,且与当前数字最接近
例:
1.求任意两数字之间的随机整数
n 表示最大值
m 表示最小值
公式 = Math.floor( Math.random( ) * (n - m + 1) + m )
//1. 随机产生一个整数 1 - 10之间 [包括边界值]
// 步骤:
// 1. 先产生一个随机数 [0, 1)
var num = Math.random();
// 2. 在随机数本身* 10
[0, 10) ----> 小数
// 3. 在值的基础上加1
[1, 11)
// 4. 最后对值进行地板函数运算
var num = Math.floor(Math.random() * 10 + 1);
console.log(num);
2.求 20 到 50 之间的随机整数【包括边界值】
//☞ 先产生一个随机数
var num = Math.random(); [0, 1);
// 1. 在值的基础上 * 31
[0, 31)
// 2. 在值的基础上 + 20
[20, 51)
// 3. 地板函数运算
var num = Math.floor(Math.random() * 31 + 20);
console.log(num);