ES5新增的数组方法:
1. map():
语法:
arr.map(function(item,i){
return item*3;
})
含义:遍历数组,item代表是每一个元素,i代表下标
返回值:映射出来的新数组
2. forEach():
语法:
arr.forEach(function(item,i){
// 没有return
})
含义:遍历数组
返回值:无
3. filter()
语法:
arr.filter(function(item,index){
return item>8
})
含义:过滤满足条件的元素
返回值:
数组形式的大于8的元素
4. some()
语法:
arr.some(function(item,index){
return item>8
})
含义:数组中有一个满足条件的,返回的就是true, 都不满足才返回false
返回值:true/false
5. every()
语法:
arr.every(function(item,index){
return item>8
})
含义:数组中必须每一个都大于8,返回的是true,有一个不大于8的就是false
返回值:true/false
数组排序:冒泡排序和选择排序
var arr = [12, 82152156, 512, 312,2,2,2];
选择排序:
排序思路: 假设第一个元素是最小值,拿第一个元素和后面所有的元素依次进行比对, 、
如果发现有比第一个元素还小的,就进行交换
arr[0] 和 arr[1] [8,12,5,3]
arr[0] 和 arr[2] [5,12,8,3]
arr[0] 和 arr[3] [3,12,8,5]
// 经过一轮比较,最小跑前面了
冒泡排序:
// 简化成for循环嵌套
// 由于上述循环判断了3次,总共有4个元素,所有-1
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
console.log(arr);
基本数据类型和引用数据类型
// 基本数据类型:number,string,boolean,undefined,null
// typeof 10 typeof null
// "number" "object"
// 引用数据类型: obejct , array
// 通过tyepof检测引用数据类型的结果都是object
//---------------------------------------------------------------------------------
基本数据类型:1.基本数据类型变量存的是值
2. 基本数据类的变量存储在栈内存
3. 基本数据类型的变量和变量互不影响
var a = 10;
引用数据类型:1.引用数据类型的变量存储的是地址值
2. 基本数据类的变量存储在堆内存
3. 引用数据类型的变量如果和另外一个引用数据类型的变量公用一个地址,
其中一个变化,另外一个也会受到影响
var arr = [12,43,12]