几个月前,我创建了一个在 Npm 上发布的 Js 库。现在我想重命名一些函数。我读了这篇文章,我认为它非常有用。
假设我有一个文件A:
export function function1(param1, param2) {
return param1 + param2
}
Run Code Online (Sandbox Code Playgroud)
库用户可用的导出函数位于 index.js 文件中:
export { function1 } from './A'
Run Code Online (Sandbox Code Playgroud)
我想将其重命名为sum(param1, param2).
我创建了这个obsolete函数:
function obsolete(newFunction, oldFnName, newFnName) {
const wrapper = function () {
console.warn(
`Obsolete function called. Function '${oldFnName}' has been deprecated, please use the new '${newFnName}' function instead.`
)
newFunction.apply(this, arguments)
}
wrapper.prototype = newFunction.prototype
return wrapper
}
Run Code Online (Sandbox Code Playgroud)
现在我必须做什么?我想我必须以这种方式修改A文件:
/** @deprecated since version 2.0 */ …Run Code Online (Sandbox Code Playgroud) 我是 D3 的新手,我正在做一个简单的例子,试图了解数据绑定的工作原理。
基本上我有一个颜色数组,一个用于添加颜色的函数和一个从索引中删除颜色的函数。不起作用的是删除操作。如果我将 0 设置为要删除的索引,我会看到 D3 将最后一个元素设置为要删除的元素。如果我使用 key accessor d => d,它就可以工作。我有很多问题。
这是我的代码:
const data = {
colors: ["Black", "White", "Brown"],
addColor(color) {
this.colors.push(color);
},
removeColorByIndex(index) {
this.colors.splice(index, 1);
}
};
const root = d3.select("#root");
const barsContainer = d3.select("#bars-container");
const addButton = d3.select("#add-button");
const removeButton = d3.select("#remove-button");
addButton.on("click", () => {
const newColor = d3.select("#color-input").node().value;
data.addColor(newColor);
update();
});
removeButton.on("click", () => {
const index = d3.select("#index-input").node().value;
data.removeColorByIndex(index);
update();
});
function update() {
barsContainer
.selectAll("div")
.data(data.countries, (d, i) => …Run Code Online (Sandbox Code Playgroud)我有这个对象数组:
const data = [
{val: 40, color: 'red'},
{val: 5, color: 'green'},
{val: 55, color: 'lime'}
]
Run Code Online (Sandbox Code Playgroud)
这是我想获得的:
const result = [
{val: 40, color: 'red'},
{val: 45, color: 'green'},
{val: 100, color: 'lime'}
]
Run Code Online (Sandbox Code Playgroud)
所以每个项目应该有相同的颜色和以前数据的累积值。
这是我的尝试:
const data = [
{val: 40, color: 'red'},
{val: 5, color: 'green'},
{val: 55, color: 'lime'}
]
Run Code Online (Sandbox Code Playgroud)
错误在哪里?为什么r[i - 1]是未定义的?
我有一个这样的数字数组:
const dataset = [0.5, 2, 1, 93, 67.5, 1, 7, 34];
Run Code Online (Sandbox Code Playgroud)
所以最小值为 0.5,最大值为 93。我想将该数据集的极值四舍五入为一个step值。
例如:
step = 5结果应该是[0, 95]step = 10结果应该是[0, 100]新的最小值应该总是 <= 数据集中的实际最小值,新的最大值应该总是 >= 数据集中的实际最大值,它们都应该是 的倍数step。
注意:如果它也适用于负值,我应该很好。
我创建了该roundToNearest函数,但不足以解决我的问题:
function computeExtremisRounded(dataset: number[], step: number): [number, number] {
const [minValue, maxValue] = getMinAndMax(dataset) // suppose it exists
const roundedMinValue = roundToNearest(minValue, step)
const roundedMaxValue = roundToNearest(maxValue, step)
return [roundedMinValue, roundedMaxValue]
}
function roundToNearest(value: number, step: number): …Run Code Online (Sandbox Code Playgroud)