gpt4 book ai didi

javascript - 何时编写不同的函数以及何时使用带参数的同一函数?

转载 作者:行者123 更新时间:2023-12-02 14:45:11 25 4
gpt4 key购买 nike

换句话说,我什么时候应该写这个?

_.insertUp = (arr, obj, newObj) => {
return arr.splice(arr.indexOf(obj), 0, newObj)
}

_.insertDown = (arr, obj, newObj) => {
return arr.splice(arr.indexOf(obj) + 1, 0, newObj)
}

_.insertUpDeep = (arr, obj, newObj) => {
const found = _.findDeep(arr, obj)
if (found) _.insertUp(found, obj, newObj)
return arr
}

_.insertDownDeep = (arr, obj, newObj) => {
const found = _.findDeep(arr, obj)
if (found) _.insertDown(found, obj, newObj)
return arr
}

我什么时候应该写这个?

_.insert = (pos, arr, obj, newObj) => {
if (pos === 'up') return arr.splice(arr.indexOf(obj), 0, newObj)
if (pos === 'down') return arr.splice(arr.indexOf(obj) + 1, 0, newObj)
}

_.insertDown = (arr, obj, newObj) => {
return arr.splice(arr.indexOf(obj) + 1, 0, newObj)
}

_.insertUpDeep = (arr, obj, newObj) => {
const found = _.findDeep(arr, obj)
if (found) _.insert('up', found, obj, newObj)
return arr
}

_.insertDownDeep = (arr, obj, newObj) => {
const found = _.findDeep(arr, obj)
if (found) _.insert('down', found, obj, newObj)
return arr
}

(我认为像 jQuery 这样的库倾向于使用第一个示例?例如 appendprepend。)

最佳答案

它是为了给你自己灵 active ,同时保持你的代码有组织性和你的函数小且可读。第一个示例就是这样做的,并且它遵循编写函数来完成一件事的准则,因此即使您需要第二个示例中的函数,它也应该像这样:

_.insertUp = (arr, obj, newObj) => {
return arr.splice(arr.indexOf(obj), 0, newObj)
}

_.insertDown = (arr, obj, newObj) => {
return arr.splice(arr.indexOf(obj) + 1, 0, newObj)

_.insert = (pos, arr, obj, newObj) => {
if (pos === 'up') return insertUp(arr, obj, newObj)
if (pos === 'down') return insertDown (arr, obj, newObj)
}

关于javascript - 何时编写不同的函数以及何时使用带参数的同一函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36673271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com