Javascript 重构对象键以避免重言式

Javascript 重构对象键以避免重言式,javascript,javascript-objects,Javascript,Javascript Objects,我有一个对象,我用它来获取元素的正确位置值。 如何优化此对象以避免关键部门的重复 当前我的对象如下所示: function animPos(animName, position) { const availibleValues = { onLoadAnim: position, greetingAnim: position, textAnim: currentAnim === AnimRight ? 0 : 505, inp

我有一个对象,我用它来获取元素的正确位置值。 如何优化此对象以避免关键部门的重复

当前我的对象如下所示:

function animPos(animName, position) {
    const availibleValues = {
        onLoadAnim: position,
        greetingAnim: position,
        textAnim: currentAnim === AnimRight ? 0 : 505,
        inputAnim: currentAnim === AnimRight ? 0 : 505,
        evaluationAnim: currentAnim === AnimRight ? 0 : 505,
        testAnim: currentAnim === AnimRight ? 0 : 505,
        passedAnim: currentAnim === AnimRight ? 0 : 505,
        default: 251.5,
    };
    return availibleValues[animName];
}

我不知道如何重构它。

要实现这一点,您可以使用
开关
语句:

var currentAnim=1;//需要使样品工作
var AnimRight=1;
函数animPos(animName,position){
开关(名称){
//第一组
案例“onLoadAnim”:
案例“greetingAnim”:
返回位置;
//第二组
案例“textAnim”:
案例“inputAnim”:
案例“evaluationAnim”:
案例“testAnim”:
案例“passedAnim”:
返回currentAnim==AnimRight?0:505;
};
//违约
返回251.5;
}
console.log(“inputAnim->”+animPos(“inputAnim”,15));
log(“greetingAnim->”+animPos(“greetingAnim”,15));

console.log(“未知->”+animPos(“未知”,15))要实现这一点,可以使用
开关
语句:

var currentAnim=1;//需要使样品工作
var AnimRight=1;
函数animPos(animName,position){
开关(名称){
//第一组
案例“onLoadAnim”:
案例“greetingAnim”:
返回位置;
//第二组
案例“textAnim”:
案例“inputAnim”:
案例“evaluationAnim”:
案例“testAnim”:
案例“passedAnim”:
返回currentAnim==AnimRight?0:505;
};
//违约
返回251.5;
}
console.log(“inputAnim->”+animPos(“inputAnim”,15));
log(“greetingAnim->”+animPos(“greetingAnim”,15));

console.log(“未知->”+animPos(“未知”,15))“避免重言”——这是什么意思?@Peter B、textAnim、inputAnim、evaluationAnim、testAnim、passedAnim都有相同的值。有没有办法将它们全部连接到单个值?为
var x=currentAnim===AnimRight创建一个变量?0 : 505;然后使用它,即
const availibleValues={onLoadAnim:position,greetingAnim:position,testAnim:x,passedAnim:x,默认值:251.5,}“避免重言”——这是什么意思?@Peter B、textAnim、inputAnim、evaluationAnim、testAnim、passedAnim都有相同的值。有没有办法将它们全部连接到单个值?为
var x=currentAnim===AnimRight创建一个变量?0 : 505;然后使用它,即
const availibleValues={onLoadAnim:position,greetingAnim:position,testAnim:x,passedAnim:x,默认值:251.5,}