堆与栈
基本数据类型变量都是存储在栈区域 string number boolean undefined null
引用变量是存储在栈区域
复杂数据类型存储在堆区域,赋值时是将对象在堆区域地址赋值给变量
Object对象
数组对象
属性和方法
var arr = [10,20,30]
arr.length 属性
方法:
(1)push
arr。push() //push方法
向数组追加元素
(2)pop
arr。pop()
弹出(删除)数组最后一个元素
(3)arr。unshift() //数组前面添加元素
(4)arr。shift() //数组前面弹出(删除)元素
(5)splice(
splice(索引号,元素个数)
arr。splice(1,2)从1开始删除两个元素
splice(索引号,元素个数,替换的内容)
arr。splice(1,2,“替换的内容”)从1开始删除两个元素,并替换内容
(6)arr。reverse //反转数组元素
(7)arr。sort() //排序默认由低到高,排序规则,先转成字符串,使用字符编码unicode码排序
var arr3 = [17, 20, 41, 14, 100]
// 排序函数
var fun = function (a, b) {
if (a < b) {
// 负数升序排序, 正数降序
return -1
}
if (a > b) {
return 1
}
if (a == b) {
return 0
}
}
arr3.sort(fun)
console.log(arr3)
(8)var arr3 = arr1.concat([4,5,6]) //拼接数组
(9)var str = arr.join("分隔符") //用分隔符链接数组元素
(10)arr。slice(开始索引号,结束索引号)
(11)arr。includes( ) //判断数组是否有某个元素
数组遍历方法
var arr = [95,58,68,98,74]
var arr1 = [90,88,68,91,71]
//遍历数组
// for(var i = 0;i<arr.length;i++){
// console.log(arr[i]);
// }
//forEach 遍历数组
arr1.forEach(function(item,index){
console.log(index,item);
// 第一个形参:数组元素
// 第二个形参:index索引号(下标)
});
//map 遍历数组,拷贝到兴数组
function testmap(){
var newArr = arr.map(function(item){
return item - 10
})
console.log(newArr);
}
// testmap()
// filter 满足条件的所有数
function testFilter(){
var newArr = arr.filter(function(item){
return item >80
})
console.log(newArr);
}
// testFilter()
// find 满足条件的第一个数
function testfind(){
var newArr = arr.find(function(item){
return item >95
})
console.log(newArr);
}
// testfind()
//every 判断所有元素是否满足条件全部满足返回true 有一个不满足返回false
function testEvery(){
var newArr = arr.every(function(item){
return item >60
})
console.log(newArr);
}
// testEvery()
//some 判断所有元素是否满足条件有一个满足返回true 全部满足返回false
function testSome(){
var isOK = arr.some(function(item){
return item < 60
})
console.log(isOK);
}
testSome()