5.數組中新增元素
- 可以通過修length長度以及索引号增加數組元素
5.1通過修改length長度新增數組元素
可以通過修改length長度來實作數組擴容的目的
length屬性是讀寫的
<script>
//1.新增數組元素 修改len
var arr = ['red','green','blue'];
console.log(arr.length);
arr.length = 5; //我們數組的長度修改為了5 裡面應該有5個元素
console.log(arr);
console.log(arr[3]);
console.log(arr[4]);
</script>
- 其中索引号是4, 5, 6的空間沒有給值,就是聲明變量未給值,預設值就是undefined.
5.2通過修改數組索引新增數組元素
* 可以通過修改數組索引的方式追加數組元素
* 不能直接給數組名指派,否則會覆寫掉以前的資料
這種方式常用。
<script>
//2.新增數組元素 修改索引号 追加數組元素
var arr1 = ['red','green','blue'];
arr1[3] = 'pink';
console.log(arr1);
arr1[4] = 'hotpink';
console.log(arr1);
arr1[0] = 'yellow'; //這裡是替換原來的數組元素
console.log(arr1);
arr1 = '有點意思';
console.log(arr1); //不要直接給 數組名指派 否則裡面的數組元素都沒有了
</script>
循環添加數組:
建立一個數組,裡面存放10個整數( 1~10)
核心原理:使用循環來追加數組。
1、聲明一個空數組arr。
2、循環中的計數器i可以作為數組元素存入。
3、由于數組的索引号是從0開始的, 是以計數器從0開始更合适,存入的數組元素要+1。
<script>
var arr=[];
for(var i = 0; i< 100; i++){
//arr = i; 不要直接給數組名指派 否則以前的元素都沒了
arr[i]=i + 1;
}
console.log(arr);
</script>
篩選數組案例:
- 要求:将數組[2, 0,6, 1, 77,0, 52,0, 25, 7]中大于等于10的元素選出來,放入新數組。
案例分析:
1、聲明一個新的數組用于存放新資料newArr.
2、周遊原來的舊數組, 找出大于等于10的元素。
3、依次追加給新數組newArr.
<script>
//方法一
var arr = [2, 0,6, 10,1, 77,0, 52,0, 25, 7];
var newArr = [];
var j = 0;
for(var i =0;i<arr.length;i++ ){
if(arr[i]>=10){
//新數組應該從0開始 依次遞增
newArr[j]=arr[i];
j++;
}
}
console.log(newArr);
//方法二
var arr=[2, 0,6, 10,1, 77,0, 52,0, 25, 7];
var newArr = [];
//剛開始 newArr.length
for(var i=0;i<arr.length;i++)
{
if(arr[i] >=10){
//新數組索引号應該從0開始 依次遞增
newArr[newArr.length]=arr[i];
}
}
console.log(newArr);
</script>
數組案例:
将數組[2,0,6,1,77,0,52,0,25,7]中的0去掉後,形成一個不包含0的新數組。
案例分析:
1、需要一個新數組用于存放篩選之後的資料。
2、周遊原來的數組,把不是0的資料添加到新數組裡面(此時要注意采用數組名+索引的格式接收資料)。
3、新數組裡面的個數, 用length 不斷累加。
<script>
var arr = [2,0,6,1,77,0,52,0,25,7];
var newArr = [];
for(var i=0;i<arr.length;i++)
{
if(arr[i] != 0)
{
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
</script>
數組翻轉案例
案例分析
将數組[‘red’, ‘green’, ‘blue’,‘pink’, ‘purple’] 的内容反過來存放
*
1、聲明一個新數組newArr
*
2、把舊數組索引号第4個取過來(arr . length - 1), 給新數組索引号第0個元素(newArr . length)
*
3、我們采取 遞減的方式 i–
<script>
//數組翻轉
var arr = ['red', 'green', 'blue','pink', 'purple'];
var newArr = [];
for(var i =arr.length -1; i>=0; i--)
{
newArr[newArr.length] = arr[i];
}
console.log(newArr);
</script>
數組排序(冒泡排序)
冒泡排序:是-種算法,把一系列的資料按照-定的順序進行排列顯示(從小到大或從大到小)。
例如,我們可以将數組[5, 4, 3, 2, 1]中的元素按照從小到大的順序排序,輸出: 1 ,2.3,4,5
<script>
//冒泡排序
var arr = [4,2,1,3,5,10];
for(var i=0;i<=arr.length -1;i++){ //外層循環管趟數
for(var j=0;j<=arr.length-i-1;j++){ //裡面的循環管 每一趟的交換次數
//内部交換2個變量的值 前一個和後一個數組元素相比較
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);
</script>