简介
在本实验中,我们将探索如何从数组中提取匹配的值并返回移除的元素。我们将学习如何使用 Array.prototype.filter()、Array.prototype.includes() 和 Array.prototype.push() 方法来过滤出提取数组中指定的值,并对原始数组进行变异。在本实验结束时,你将对如何在 JavaScript 中操作数组有更深入的理解。
在本实验中,我们将探索如何从数组中提取匹配的值并返回移除的元素。我们将学习如何使用 Array.prototype.filter()、Array.prototype.includes() 和 Array.prototype.push() 方法来过滤出提取数组中指定的值,并对原始数组进行变异。在本实验结束时,你将对如何在 JavaScript 中操作数组有更深入的理解。
要使用 JavaScript 从数组中提取特定的值,请执行以下步骤:
node 开始练习编码。Array.prototype.filter() 和 Array.prototype.includes() 过滤掉不需要的值并创建一个新数组。Array.prototype.length 以通过将原始数组的长度重置为 0 来变异原始数组。Array.prototype.push() 仅用提取的值重新填充原始数组。Array.prototype.push() 在一个新数组中跟踪移除的值。以下是一个实现这些步骤的示例函数:
const pullAtValue = (arr, pullArr) => {
let removed = [],
pushToRemove = arr.forEach((v, i) =>
pullArr.includes(v) ? removed.push(v) : v
),
mutateTo = arr.filter((v, i) => !pullArr.includes(v));
arr.length = 0;
mutateTo.forEach((v) => arr.push(v));
return removed;
};
你可以使用此函数从数组中移除特定的值并返回移除的元素,如下所示:
let myArray = ["a", "b", "c", "d"];
let pulled = pullAtValue(myArray, ["b", "d"]);
// myArray = [ 'a', 'c' ], pulled = [ 'b', 'd' ]
恭喜你!你已经完成了“从数组中提取匹配值”实验。你可以在 LabEx 中练习更多实验来提升你的技能。