Skip to content

replaceOrAppend

替换数组中的项目,如果不匹配则追加

193 bytes
since v12.1.0

使用方法

给定一个项目数组、一个项目和一个身份函数,返回一个新数组,其中项目在现有项目的索引处被替换(如果存在),否则在末尾追加。

import * as _ from "radashi";
const fish = [
{
name: "Marlin",
weight: 105,
},
{
name: "Salmon",
weight: 19,
},
{
name: "Trout",
weight: 13,
},
];
const salmon = {
name: "Salmon",
weight: 22,
};
const sockeye = {
name: "Sockeye",
weight: 8,
};
_.replaceOrAppend(fish, salmon, (f) => f.name === "Salmon"); // => [marlin, salmon (weight:22), trout]
_.replaceOrAppend(fish, sockeye, (f) => f.name === "Sockeye"); // => [marlin, salmon, trout, sockeye]