indexOf()方法返回在该数组中的元素位置,如果它不存在则返回-1
//数组格式为[ "Name","LangShen","AGE","28" ]
//[ ]中括号,表示一个数组,也可以理解为一个数组对象。
//每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象
var arr=[1,2,3,4];
var index=arr.indexOf(3);
console.log(index); // 2
//数组格式为[{name:"Son1"},{name:"Son2"},{name:"Son3"}]
//{ } 和[ ] 一起使用,我们前面说到,{ } 是一个对象,[ ] 是一个数组,我们可以组成一个对象数组
//有多个对象的数组
var arr=[{name:"Son1"},{name:"Son2"},{name:"Son3"}] ;
var index=arr.indexOf({name:"Son2"});
console.log(index); // 返回的一直为-1
//解决方法:使用findIndex
var array=[{name:"Son1"},{name:"Son2"},{name:"Son3"}] ;
var newArr = array.findIndex(function (item) {
return item.name === Son2;
});
console.log(newArr); //1
if (newArr != -1) {
// 删除已存在后重新插入至数组
array.splice(newArr, 1)
array.unshift({ name: "111" })
} else {
array.unshift({ name: "111" })
}
//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。