问候。
我在本系列中发布了 Codewars 挑战和我的思考过程。我尽可能使用 JS 和 Node 18。只是为了清楚起见,我正在合理使用它们。
“如果某个元素出现超过 n 次,则删除该元素的出现”。本质上,修剪数组中间的部分,而不改变顺序。
function deleteNth(arr,n){ let counter = {"top": n , "undef": 0}; for (let i = 0 ; i < arr.length ; i++ ){ (counter[arr[i]]) ? null : counter[arr[i]] = 0; if (counter[arr[i]] < n){ counter[arr[i]]++; } else { arr[i] = undefined; counter.undef++; } } arr.sort((a,b) => 0); for (let i = 0 ; i < counter.undef ; i++){ arr.pop(); } return arr; }
它...有效。需要重构,因为它显然没有遵循任何良好实践,但我将继续迎接下一个挑战。
保重。喝水???.
上一页
以上是Codewars - 如果某个元素出现超过 n 次,则删除该元素的出现的详细内容。更多信息请关注PHP中文网其他相关文章!