数组:数组是一系列有序数据的集合

数组:数组是一系列有序数据的集合
数组数据类型Array:
基本数据类型: number / string / boolean / undefined / null
复杂数据类型: Object / Function  /  Array / ...
字面量创建一个数组:var arr =[ ]
内置构造函数创建数组 :var arr = new Array ()
数组的长度:length(几个内容长度就是几)
数组的索引
  - 索引,也叫做下标,是指一个数据在数组里面排在第几个的位置
  - 注意: 在所有的语言里面,索引都是从 0 开始的
  - 在 js 里面也一样,数组的索引从 0 开始

数组遍历
  - 我们就可以使用 for 循环来循环数组,因为 for 循环我们也可以设置成 0 ~ n 顺序增加
  - for(i=0;i<arr.length;i++){ console.log(arr[i])}
.ES5常用数组遍历方法:
 1,forEach: 语法:arr.forEach(function (item, index, arr) {})
    item==数组中的每一项  index==数据索引(下标)arr==原始数组 (一般不用)
 2,map :和forEach一样,只对数组中的每一项进行操作,返回一个新的数组
    var newArr = arr.map(function(item,index){ return 新元素 })
 3,filter : var newArr = arr.filter(function(item,index){ return 条件})
           查找数组满足条件的元素,返回新数组
 4,find  查找第一个满足条件的元素(满足条件返回后退出)
 5,every 遍历数组,查找数组元素是否全部满足条件,全部满足返回真
 6,some  遍历数组,查找数组是否有一个满足条件,有一个满足条件返回真 
 7,数组遍历reduce方法: 一般应用累加求和
arr.reduce(function(previousValue,currentValue,currentIndex,arr){
           previousValue 上一个值,如果initValue存在,第一遍历时previousValue就是initValue
           currentValue 当前数组元素
           currentIndex 当前数组下标
           arr 原数组
数组的常用方法:
push 是用来在数组的末尾追加一个元素
pop 是用来删除数组末尾的一个元素
unshift 是在数组的最前面添加一个元素
shift 是删除数组最前面的一个元素
splice 是截取数组中的某些内容,按照数组的索引来截取
reverse 是用来反转数组使用的
sort 是用来给数组排序的
concat 是把多个数组进行拼接
join 是把数组里面的每一项内容链接起来,变成一个字符串
indexOf 用来找到数组中某-项的索引

includes;检测数组(arr)是否包含某一内容 

冒泡排序:
比较相邻的元素:如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。
这步做完后,最后的元素会是最大的数。          
针对所有的元素重复以上的步骤,除了最后一个。 
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

var arr = [89, 98, 78, 68, 76]
            // 外层循环冒泡轮数
            for (var j = 0; j < arr.length - 1; j++) {
                //内层循环,两两比较交换位置
                for (var i = 0; i < arr.length - 1 - j; i++) {
                    //1.相邻两个数,两两比较
                    if (arr[i] > arr[i + 1]) {
                        // 2.交换位置
                        var temp = arr[i]
                        arr[i] = arr[i + 1]
                        arr[i + 1] = temp
                    }
                }
                console.log(arr)
            }
            console.log('排序后 :', arr)

选择排序:选择排序思想
               1. n 个数 进行n-1次选择
               2. 每次选择
            未排序数中找最小数下标,与前面的数交换位置

         数组去重
          [9,2,5,2,8,2,5] -> [9,2,5,8]

          方法一: 利用indexOf或includes实现
             思路:
                1. 定义一个空数组  [] 存储去重后元素
                2. 遍历原数组
                3. 判断新数组中是否有原数组当前元素,如果没有,存储到新数组中

          方法二: 利用双重for循环+splice实现
                 外层循环遍历数组所有元素
                    内层循环依次判断后面元素是否与外层循环元素相同,如果相同,截取掉
 

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...