var arr = [ 'a', 'b', 'c' ];
// 1. push (在数组最后再添加一个元素)
arr.push('jirengu') //再数组最后添加一个元素
console.log(arr)
const a =[1,2,3,4,5,6]
console.log([...arr,...a]) // ["a", "b", "c", "jirengu", "1", "2", "3", "4", "5", "6"]
console.log(...arr,...a) // "a", "b", "c", "jirengu", "1", "2", "3", "4", "5", "6"
// 2. pop (删除数组最后一位并返回数值)
console.log( arr.pop()) //jirengu
console.log( arr) //["a", "b", "c"]
// 3. unshift (在数组第一位插入一个数值)
console.log( arr.unshift('d'))
console.log( arr) //["d", "a", "b", "c"]
// 4. shift(删除数组第一位,并返回被删除值)
var value2 = arr.shift() //把数组第一位拿出来返回,数组发生变化
console.log(value2) // 'd'
// 5. splice(替换数组的一部分,并把替换内容作为新数组返回)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
// 1. 从下标2的位置截取2个元素返回新的数组,原数组改变了
// console.log(fruits.splice(2,2)) //返回["Apple", "Mango"]
// console.log(fruits) // ["Banana", "Orange"]
// 2.如果省略第二个参数,那么就是 "剪" 掉从 start 位置开始以后的所有元素。
//console.log(fruits.splice(1)) // 截取["Orange", "Apple", "Mango"]
// console.log(fruits)
// 3.下面的代码不但进行 "剪掉1之后的两个元素" ,也是用指定的元素进行 "拼接"。
// console.log(fruits.splice(1,2,'ssss','fefer')) // ["Orange", "Apple"]
// console.log(fruits) // ["Banana", "ssss", "fefer", "Mango"]、
// 4.数组任意位置插值
console.log(fruits.splice(1,0,'ssss','fefer')) //返回空数组[]
console.log(fruits) // 数组任意位置插值 ["Banana", "ssss", "fefer", "Orange", "Apple", "Mango"]
//forEach(function(element,index,arry))遍历数组,不能retuan数据,是一个underfind
const arr2 = arr.forEach(item=>{
console.log(item)
})
// 6. Array.every()此方法是将所有元素进行判断返回一个布尔值,
// 如果所有元素都满足判断条件,则返回true,否则为false
let arr3=[2,3,4,5,6,7,8,9]
const isLessThan4 = value => value > 1
console.log(arr3.every( isLessThan4 )) //true
// 7. Array.some()此方法是将所有元素进行判断返回一个布尔值,如果存在元素满足判断条件,则返回true,
// 若所有元素都不满足判断条件,则返回false:
console.log(arr3.some( isLessThan4 )) //true
// indexOf(element)/ lastIndexOf(element)寻找数组是否有对应的内容
console.log(arr3.indexOf( 5 )) //3
// // 8. map(function(element,index,arry))遍历数组,
// 对数组的每个值执行函数操作,并把结果返回新数组
const arr4 = arr3.map(item =>{
return item*3
})
console.log(arr4) //[6, 9, 12, 15, 18, 21, 24, 27]
// 9. filter(function(element,index,arry))遍历数组,
// 对数组每一个元素执行callback函数,并将满足条件的值返回新数组
console.log(arr3.filter(item =>{
return item >=5 //[5, 6, 7, 8, 9]
}))
// 10. reduce(function(v1, v2), value)遍历数组,对数组的值依次两两执行回调函数,
// 将两个数组值合成一个值,reduce从索引最小值开始
console.log(arr3.reduce((v1,v2) =>{
return v1+v2 //44
}))
const arr = [1,2,7,2,6,0,3,1,5,7,8,9,45,12,34,0,56,12,2]
// slice()方法
const sliceArr = arr.slice(-5)
console.log('sliceArr ',sliceArr) // 得到[34,0,56,12,2]
// slice(start,end)表示从下标start开始到下标end(不包括end)进行截取,得到的是一个新数组,不改变原数组。当start为负值时表示从倒数第几个元素开始往后截取,不填end的话就表示从倒数第几个元素开始截取,一直截取到数组末尾元素。
// splice()方法
const spliceArr = arr.splice(-5,5)
console.log('spliceArr',spliceArr) // 得到[34,0,56,12,2]