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' 是字符串。 如果你的数组包含其他类型的元素,记得将类型调整为相应的类型。