JS 相关操作
Siona
JS 相关操作
数组相关
对数组 [{}, {}]
的一系列操作。
arrays.filter()
const duty = [{}, {}]
// 过滤出当前月份数据
const currentMonthDuty = duty.filter(item => new Date(item.calendar).getMonth() === month.value.getMonth())
arrays.forEach()
arrays.map()
forEach
和 map
都是 JavaScript 数组的迭代方法,但它们在用途和返回值上有一些不同。
forEach:
forEach
是一个用于遍历数组的方法,它接受一个回调函数作为参数,该回调函数将在数组的每个元素上被调用。forEach
不会创建一个新的数组,它只是用来对数组进行迭代操作,对原数组进行修改或者执行一些操作。forEach
的回调函数接受三个参数:当前元素、当前元素的索引和数组本身。
const numbers = [1, 2, 3]; numbers.forEach((num, index) => { console.log(`Element ${num} at index ${index}`); });
map:
map
也是用于遍历数组的方法,但它会创建一个新的数组,该数组的元素是对原数组元素应用某个函数后的结果。map
不会改变原数组,而是返回一个新的数组,原数组保持不变。map
的回调函数同样接受三个参数:当前元素、当前元素的索引和数组本身。
const numbers = [1, 2, 3]; const squaredNumbers = numbers.map(num => num ** 2); console.log(squaredNumbers); // [1, 4, 9]
总体来说,forEach
主要用于执行对数组的操作,而 map
主要用于创建一个新的数组,其中的元素是对原数组元素进行转换后的结果。选择使用其中哪一个方法通常取决于您的具体需求。
扩展运算符 ...Arrays
如果您想使用扩展运算符 ...
来将数组 [0, 1, 2, 3, 4]
中的数字求和,您可以通过结合 reduce
方法来实现。 以下是示例代码:
const data = [0, 1, 2, 3, 4];
const sum = [...data].reduce((acc, currentValue) => acc + currentValue, 0);
console.log(sum); // 输出 10
在这个例子中,[...data]
使用扩展运算符创建了数组的副本,然后使用 reduce
方法对数组中的所有元素进行求和。 acc
是累加器,currentValue
是当前迭代的元素值,0
是初始值。最终得到的 sum
变量就是数组中所有数字的和。
Arrays.includes(element) 检查数据是否包含特定元素
let arr: string[] = ['aaa', 'bbb', 'ccc'];
if (arr.includes('aaa')) {
console.log('数组包含 "aaa"');
} else {
console.log('数组不包含 "aaa"');
}
在这个例子中,arr.includes('aaa')
返回一个布尔值,表示数组 arr
是否包含字符串 'aaa'
。
请确保数组和目标元素的类型匹配,否则 TypeScript 可能会发出类型错误。 在这里,我将数组定义为 string[]
,因为'aaa'
是字符串。 如果你的数组包含其他类型的元素,记得将类型调整为相应的类型。