Mit anderen Worten, wann sollte ich das schreiben?Wann schreiben Sie verschiedene Funktionen und wann verwenden Sie die gleiche Funktion mit einem Parameter?
_.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
}
Und wann sollte ich das schreiben?
_.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
}
(Ich denke, Bibliotheken wie jQuery neigen dazu, mit dem ersten Beispiel zu gehen? Z append
und prepend
.)
Die erste API scheint viel konsistenter zu sein. –