js 數據操作 - daniel-qa/Vue GitHub Wiki
js 數據操作
Map
Array
push
const addSchool = (school) => {
// 添加新的学校
items.value.push(school.name);
ElMessage({
message: `已加入 ${school.name}`,
type: "success",
});
};
concat 方法
concat 是数组的方法,用于将一个或多个数组或值合并为一个新数组。它不会改变原数组,而是返回一个新的数组。
- 语法
newArray = array1.concat(array2, array3, ..., value1, value2, ...);
array1:要合并的原始数组。 array2, array3, ..., value1, value2:要连接到原数组的数组或值。
ex1:
const array1 = [1, 2];
const array2 = [3, 4];
const array3 = [5, 6];
const result = array1.concat(array2, array3);
console.log(result); // 输出 [1, 2, 3, 4, 5, 6]
ex2:
const array1 = [1, 2];
const result = array1.concat(3, [4, 5]);
console.log(result); // 输出 [1, 2, 3, 4, 5]
reduce 方法
filter() 方法
filter() 方法会返回一个新的数组,而不会修改原数组。
filter() 方法期望回调函数返回一个布尔值。如果你不使用 return,回调函数默认返回 undefined,这会导致 filter() 方法无法正确筛选元素。
如果没有 return,回调函数不会返回任何明确的布尔值,filter() 无法正确判断该元素是否满足条件,因此返回一个空数组。
所以,return 是必要的,用来明确返回一个布尔值,以便 filter() 判断元素是否符合条件。
// 过滤学校列表
const filteredItems = currentSubItems.filter((item) => {
return item.name.toLowerCase().includes(query); // 判断 name 是否包含关键字
});
splice() 方法
splice() 用于添加、删除或替换数组中的元素,会直接修改原数组。
- 語法
array.splice(start, deleteCount, item1, item2, ...)
start:
起始索引,从哪里开始操作。 如果为负值,从数组末尾开始计算。
deleteCount:
要删除的元素个数。 如果为 0,则不会删除任何元素。
item1, item2, ...:
要插入的新元素(可选)。
如果没有提供这些参数,splice 只会删除元素。
items.value.splice(index, 1)
index 是数组中要移除的元素的索引。
1 表示只移除一个元素。
这个方法会直接修改原数组。
- 1 . 删除元素
const arr = [1, 2, 3, 4];
arr.splice(1, 2); // 从索引 1 开始删除 2 个元素
console.log(arr); // [1, 4]
- 2 . 插入元素
const arr = [1, 4];
arr.splice(1, 0, 2, 3); // 从索引 1 开始,不删除元素,插入 2 和 3
console.log(arr); // [1, 2, 3, 4]
- 3 . 替换元素
const arr = [1, 2, 4];
arr.splice(2, 1, 3); // 从索引 2 开始删除 1 个元素,并插入 3
console.log(arr); // [1, 2, 3]
- slice() 方法
slice() 用于提取数组的一部分,返回一个新的数组,不会改变原数组。