今天学习的内容
1:复习上次课
for
while
数组 数组名.length 下标
var arr=[23,45,67];
var a = arr[arr.length-1];
for(;;){}
while(true){}
=============================================================================================
今天新的内容 数组的相关方法
今天新的内容
#新学习数组相关方法
一、join *****
功能:将数组拼接字符串
示例:
var arr = ['abc','bcd','a11'];
-->"abcbcdea11"
var word = arr.join(分隔符);
示例:
var provs = ["北京市","天津市","沈阳市"];
<select><option>
北京市
</option><option>
天津市
</option><option>
沈阳市
</option></select>
二、链接数组.. ***
#不修改原数组内容,返回新数组
#在程序必需要用新变量接收新数组
数组.concat(值1,值2....,数组);
三、获取子数组 *****
数组.slice(开始位置,结束+1);
开始位置
结束位置 支持负数
#若是你传入负数:自动 length负数
var id = [1,1,0,1];
var rs = id.slice(1,3);
console.log(rs);
var id = [1,1,0,1];
var rs = id.slice(-3,-1);
//id.length-3 = 1
//id.length-1 = 3
rs = id.slice(1,3);
console.log(rs);
四、颠倒数组元素顺序 ***
#reverse()
五、splice() 删除元素 添加元素 替换元素 *****
a:删除
var arr = [1,2,3,4,5];
var del = arr.splice(开始位置,删除几个);
var del = arr.splice(3,2);
b:插入
arr.splice(开始位置,0,99,100,101);
c:
arr.splice(开始位置,1,2,3);
6排序 *****
6.1:手写排序算法
冒泡 选择 插入 ...
6.2:调用js数组自带方法 sort();
var arr = [1,9,10,2,3];
var arr = [1,2,3,9,10];
#sort方法排序时按照.默认unicode
#由sort方法默认按照unicode排序
#按数字排序
1:二个比较 小数放前 return 负数 a-b
2: 二个比较 大数放后 retrun 正数 b-a
3: 二个比较 相同 return 0
#写一个方法定义排序规则
function comp(a,b){
if(a<b){
return -1;
} -------------------------->retun a-b;
if(a>b){
return 1;
}
if(a==b){
return 0;
}
}
arr.sort(comp);
七、栈和队列: *****
一种特殊数组:一端封闭,只能从另外一端进出数据..
#很是灵活..
var arr = [1,2,3];
先进后出..
如何使用:
1:入 arr.push(值);
2:出 var last = arr.pop();
开头封闭,结尾出入栈
出栈入栈不影响原有元素下标
1:结尾封闭,开头出入栈
入:arr.unshift(值);
出:var first = arr.shift();
#每次出栈入栈,都影响全部元素下标{慢}
数组:
1:var arr = [];
arr[0];
2:push() pop();
练习:
var arr = [];
1:请用户输入单词
var input = prompt('请输入单词');
while(input != 'exit'){
2:保存数组
arr.push(input);
input = prompt('请输入单词');
}
3:以上二步操做循环
4:若是用户输入 exit 循环退出
5:输出全部数组中保存单词
console.log(arr.toString());
#特殊数组
#数据结构[栈,队列]
#队列:只能从一端进入,必须从另外一端出
如何使用:
结尾入队列: arr.push(值); pop
开头出队列: arr.shift(); shift
#二维数组
数组中的元素,又引用另外一个子数组;
什么时候使用:
1:只要存储横行竖列的二维数组
2:存储上下级包含关系
如何定义二维数组:
1:建立同时,就要初始化
var arr = [
[0,2,0,0],
[4,4,8,0],
[0,0,0,0],
[0,0,0,0]
];
arr[0][1];
arr[1][0];
arr[1][2];
2:先建立一维数组,再赋值
var arr1 = [];
arr1[0] = [1,3,5,7,9];
arr1[1] = [2,4,6,8,10];
#遍历数组,使用循环完成
1:for(){}
2:for(){}多层for
#二层循环
document.write("*");
今天内容
1:数据经常使用方法
join(); 将数组拼接字符串
concat(); 将多个数据拼接成一个大数组
slice(); 获取子数组
splice(); 删除数组添加数组
2:二维数组
var arr =
[
[1,2,3],
[2,4,6]
];
var arr = [];
arr[0] = [1,2,3,4];
arr[1] = [2,3,4,5];
3:二层循环
外层循环 控制行
内层循环 控制列
4:图形
算法