4.29 数组的索引和排序
Posted xiaokeai233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.29 数组的索引和排序相关的知识,希望对你有一定的参考价值。
# 一、数组 ***************
1. 数组的操作
- 索引(编号,序号,从0开始)
```js
var arr = ["hello",3,4,5,"world"];
```
- 数组是一个有序数据的集合
- 有序的序号,索引
- 从0开始
- 到哪结束
- 根据长度,得出,到length-1
- 数组的第一个:数组[0]
- 数组的最后一个:数组[数组.length-1]
- 增
- 增加数组的长度
- 给不存在的位置赋值
```js
arr[arr.length] = "哈哈哈";
```
- 删
- 缩短数组的长度
```js
// 原有长度是5
arr.length = 3;
```
- 改 ******
- 找到对应索引的数据,赋值(覆盖)
```js
arr[要修改数据的索引] = "四";
```
- 查 ******
- 根据索引直接获取
```js
arr[指定位置的索引]
```
1. 数组的操作
- 索引(编号,序号,从0开始)
```js
var arr = ["hello",3,4,5,"world"];
```
- 数组是一个有序数据的集合
- 有序的序号,索引
- 从0开始
- 到哪结束
- 根据长度,得出,到length-1
- 数组的第一个:数组[0]
- 数组的最后一个:数组[数组.length-1]
- 增
- 增加数组的长度
- 给不存在的位置赋值
```js
arr[arr.length] = "哈哈哈";
```
- 删
- 缩短数组的长度
```js
// 原有长度是5
arr.length = 3;
```
- 改 ******
- 找到对应索引的数据,赋值(覆盖)
```js
arr[要修改数据的索引] = "四";
```
- 查 ******
- 根据索引直接获取
```js
arr[指定位置的索引]
```
- 数组的方法(对象的方法)
- ***********************
- 方法集锦:https://www.jianshu.com/p/7e160067a06c
2. 数组的小分类,不同叫法,特点:里面的数据类型一致
- 对象数组
- 都是对象
- 二维数组
- 数组里面都是数组
- 如何使用
- 逐层解析
3. 数组的排序
- 冒泡:
var arr = [9,8,7,6,5];
console.log(arr);
for(var i=0;i<arr.length-1;i++){
for(var j=0; j<arr.length-1-i; j++){
if(arr[j] > arr[j+1]){
var ls = arr[j];
arr[j] = arr[j+1];
arr[j+1] = ls;
}
}
}
- 冒泡:
var arr = [9,8,7,6,5];
console.log(arr);
for(var i=0;i<arr.length-1;i++){
for(var j=0; j<arr.length-1-i; j++){
if(arr[j] > arr[j+1]){
var ls = arr[j];
arr[j] = arr[j+1];
arr[j+1] = ls;
}
}
}
// 两两比较,大的放后面:冒泡排序
console.log(arr);
- 选择:
var arr = [9,8,5,6,7];
console.log(arr);
for(var i=0;i<arr.length-1;i++)
// 因为每一行第一个索引都在变,所以,要将这个ls变量,放在第一个循环的内部
var ls = arr[i];
// ls保存了数组中某个数据,lsIndex保存这个数据的索引
var lsIndex =
for(var j=i+1;j<arr.length;j++){
if(ls > arr[j]){
// ls里面的数据如果大了,换成小的
// 因为在找最小的
ls = arr[j];
// 如果ls里面的数据换了,lsIndex也跟着换
lsIndex = j;
}
}
// ls必然已经是最小的了
// 交换数组中的数据
// 先把真正的第一位拿走,否则会被覆盖
// 放到真正的最小值的位置
arr[lsIndex] = arr[i];
// 再把ls变量中,最小的值,放在第一位
arr[i] = ls;
}
var arr = [9,8,5,6,7];
console.log(arr);
for(var i=0;i<arr.length-1;i++)
// 因为每一行第一个索引都在变,所以,要将这个ls变量,放在第一个循环的内部
var ls = arr[i];
// ls保存了数组中某个数据,lsIndex保存这个数据的索引
var lsIndex =
for(var j=i+1;j<arr.length;j++){
if(ls > arr[j]){
// ls里面的数据如果大了,换成小的
// 因为在找最小的
ls = arr[j];
// 如果ls里面的数据换了,lsIndex也跟着换
lsIndex = j;
}
}
// ls必然已经是最小的了
// 交换数组中的数据
// 先把真正的第一位拿走,否则会被覆盖
// 放到真正的最小值的位置
arr[lsIndex] = arr[i];
// 再把ls变量中,最小的值,放在第一位
arr[i] = ls;
}
// 按照从左到右的顺序,依次取出每个数据,后后面所有数据做比较,找到最小值,交换
// 选择排序
// 选择排序
console.log(arr);
4. 新的遍历方式,不算循环
以上是关于4.29 数组的索引和排序的主要内容,如果未能解决你的问题,请参考以下文章