JS 数组方法
查找数组
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined
const array = [1, 2, 3, 4]
array.find((value, index, arr) => {
console.log('每一次迭代查找的数组元素', value)
console.log('每一次迭代查找的数组元素索引', index)
console.log('被查找的数组', arr)
})
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1
也是和find类似,三个参数
用来查找JSON数组某个值在数组中的索引
let jsonArr = [
{
name: 'lwb',
age: 21
},
{
name: 'psp',
age: 21
},
{
name: 'cmt',
age: 21
}
]
let arrIndex = this.jsonArr.findIndex((item) => Object.values(item).includes('lwb'))
console.log('arrIndex', arrIndex)
this.jsonArr.splice(arrIndex, 1)
把数组转换为字符串
toString() 把数组转换为数组值(逗号分隔)的字符串
let arr = ['lwb' , 20 , 'boy']
let str = arr.toString() // "lwb,20,boy"
join() 方法也可将所有数组元素结合为一个字符串
let arr = ['lwb' , 20 , 'boy']
let str = arr.join('--') // "lwb--20--boy"
pop() 方法从数组中删除最后一个元素
let arr = ['lwb' , 20 , 'boy'];
let num = arr.pop(); // num = 'boy'
push() 方法(在数组结尾处)向数组添加一个新的元素,返回新数组的长度
let arr = ['lwb' , 20 , 'boy'];
let len = arr.push('student'); // len = 5
shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();
// 从 fruits 删除第一个元素 "Banana",shift() 方法返回被“位移出”的字符串:
unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素,返回新数组的长度
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); // 向 fruits 添加新元素 "Lemon"
删除元素
splice() 第一个参数(0)定义新元素应该被添加(接入)的位置,第二个参数(1)定义应该删除多个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);
创建新数组
Array.map,方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值
const array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
console.log(map1); // [2, 8, 18, 32]
filter
Array.filter(function),方法不会修改原数组,会返回一个新数组, 其包含通过所提供函数实现的测试的所有元素
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// ["exuberant", "destruction", "present"]