<!-- 遍历数组,找出大于20的数组,重组新数组 -->
<script>
//创建新数组需要利用 new Array 关键字建立
var array = new Array(22, 12, 64, 12, 15, 122, 05, 34, 55, 12, 16);
//字面量方法创建
var newArray = [];
var j = 0;
// 利用array.length辨别数组长度
for (var i = 0; i <= array.length; i++) {
if (array[i] >= 20) {
newArray[j] = array[i];
j++
}
}
alert(newArray);
</script>
- var arr=[]这是一种字面量定义数组的方法
- var arr=new Array()这是调用数组构造函数生成的数组
- 利用array.length对数组长度进行辨别
数组长度会自动检测数组内部长度变化因此有更简单的方法去检测本身长度
<!-- 遍历数组,找出大于20的数组,重组新数组 -->
<script>
//创建新数组需要利用 new Array 关键字建立
var array = new Array(22, 12, 64, 12, 15, 122, 05, 34, 55, 12, 16);
//字面量方法创建
var newArray = [];
// 利用array.length辨别数组长度
for (var i = 0; i <= array.length; i++) {
if (array[i] >= 20) {
newArray[newArray.length] = array[i];
}
}
alert(newArray);
</script>
对于空数组要加新值根据数组特性利用XXX.length去自动载入新值
翻转数组
<script>
//翻转数组
var arr = ['green', 'pink', 'blue', 'yellow', 'white', 'red']
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
alert(newArr);
</script>
冒泡排序
<script>
// 一共9个数组索引从0开始到8;
var arr = [43, 64, 23, 76, 23, 66, 54, 85, 24];
// 每一趟决定一个最大的数并放到最后
// 第一个for循环管趟数
for (var i = 0; i <= arr.length - 1; i++) {
// 内层循环保证每一趟最后一个数最大
// 第一趟时arr.length - 1 - i=7;而i从0开始所以走了8次
for (var j = 0; j <= arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
alert(arr);
// 第二趟i=2第二趟走7次就可以决定倒数第二个数的最大值
</script>