Json、数组方法、随机函数、数组去重
json数据格式及json语法
1 | var json = {name: 'name', age: 3}; //安全性差 |
for-in遍历json
1 | var str = ''; |
json没有长度属性,无法使用for循环
数组也可以使用for in循环1
2
3
4
5
6
7
8var json = {'name': 'name', 'age': 3};
alert(json.length); //undefined
var arr = ['a', 'b', 'c'];
for(var i in arr){
alert(i); //i为数组下标
alert(arr[i]);
}
数组定义及清空数组效率问题
1 | var arr = [1, 2, 3]; |
数组的方法与技巧
1 | var arr = [1, 2, 3]; |
splice 方法、数组去重
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法:arrayObject.splice(index,howmany,item1,…..,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
返回值
类型 | 描述 |
---|---|
Array | 包含被删除项目的新数组,如果有的话。 |
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。1
2
3
4
5
6var arr = [1, 2, 3];
//删除、替换、添加
arr.splice(0, 1); //从数组第0位起,删除1个值
arr.splice(0, 2, 'one or two'); //将数组第0位起的2个值替换为'one or two'
arr.splice(1, 0, '1.5', '1.8'); //将数组第1位后添加'1.5', '1.8'
//只有删除时有返回值,返回删除掉的值
数组去重1
2
3
4
5
6
7
8
9
10var arr = [1, 2, 2, 4, 2];
for(var i = 0; i < arr.length; i ++){
for(var j = i + 1; j < arr.length; j ++){
if(arr[i] == arr[j]){
arr.splice(j, 1);
j --;
}
}
}
sort排序
1 | var arr = ['c', 'd', 'a', 'e']; |
排序:快速、希尔、冒泡、归并、选择、插入…、
随机数及随机公式推理过程
1 | Math.random(); //返回介于 0 ~ 1 之间的一个随机数 |
concat、reverse、练习
1 | var arr1 = [1, 2, 3]; |
练习:
1.随机产生 550 个从 0~1000 之间不重复的整数
2.为数组编写indexOf()方法:indexOf(‘img/1.jpg’)
【示例:点击查看】
练习:
1.人民网多图片滚动(随机图片滚动)
【示例:点击查看】
2.自定义字体形状(动画)
【示例:点击查看】
3.消除表情小游戏(掉QQ表情)
【示例:点击查看】
4.排序
【示例:点击查看】
参考:
1.JavaScript push() 方法
2.JavaScript unshift() 方法
3.JavaScript pop() 方法
4.JavaScript shift() 方法
5.JavaScript splice() 方法
6.JavaScript sort() 方法
6.JavaScript random() 方法
6.JavaScript round() 方法
6.JavaScript concat() 方法
6.JavaScript reverse() 方法