//在数组后面添加
this.lists.push(car)
//按id删除数组对象
arr.splice(0,1)表示删除数组的第一个,arr.splice(1,2)表示删除从第二个开始,长度为2个的元素。
arr.splice(arr.findIndex(item => item.id === 8), 1)
this.lists.pop(id)
//合并两个数组 posts合并posts2成为一个新的数组
let posts = posts.concat(posts2);
//颠倒数组 arr.reverse()
该方法会改变原来的数组,而不会创建新的数组。所以,一旦执行reverse(),则原有的数组是已经颠倒了!
如果再次使用reverse(),则数组恢复原有顺序(执行了两次reverse)
data= [{name:'tian', age:20},
{name:'hello', age:30},
{name:'today', age:50}
]
data.reverse()
console.log(data)
[{name:'today', age:50},
{name:'hello', age:30},
{name:'tian', age:20}
]
//判断数组为空
let data = []
if(data == false){
//data为空数组时,要执行的代码
console.log(169, data)
}
或: data.length == 0
//数组切片
slice() 方法创建新数组。它不会从原数组中删除任何元素。该方法会从开始参数选取元素,直到结束参数(不包括)为止。
返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end。end没填则至结尾。
let fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]
let citrus = fruits.slice(0, 3) //从0到3,不包括3,即[0: "Banana" 1: "Orange"2: "Lemon"]
let left = fruits.slice(3) //从3开始的剩余部分,即[0: "Apple" 1: "Mango"]
//获取数组最后四个元素
let heroes=["李白",'蔡文姬','韩信','赵云','甄姬','阿珂','貂蝉','妲己']
let s = heroes.slice(-4)
console.log(156, s) //[ '甄姬', '阿珂', '貂蝉', '妲己' ]
//数组去重方法1
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
function unique5(arr){
var x = new Set(arr)
return [...x]
}
//数组去重方法2
let json1=[
{id:1,name:"aaa"},
{id:2,name:"bbb"},
{id:3,name:"ccc"},
]
let json2=[
{id:1,name:"aaa"},
{id:2,name:"bbb"},
{id:4,name:"ddd"},
]
let json = json1.concat(json2) //两个数组对象合并
let newJson = [] //盛放去重后数据的新数组
for(let item1 of json){ //循环json数组对象的内容
let flag = true //建立标记,判断数据是否重复,true为不重复
for(let item2 of newJson){ //循环新数组的内容
if(item1[1].block==item2[1].block){ //让json数组对象的内容与新数组的内容作比较,相同的话,改变标记为false
flag = false
}
}
if(flag){ //判断是否重复
newJson.push(item1)//不重复的放入新数组.新数组的内容会继续进行上边的循环。
}
}
console.log("newJson",newJson)
//按升序对数组中的数字进行排序:
var points = [40, 100, 1, 5, 25, 10]
points.sort((a, b) => {return a-b})
//按降序对数组中的数字进行排序:
var points = [40, 100, 1, 5, 25, 10]
points.sort((a, b) => {return b-a})
RE: JavaScript开发笔记