Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用几个if语句来重命名某些值的简写_Javascript_Arrays_Object_Rename - Fatal编程技术网

Javascript 用几个if语句来重命名某些值的简写

Javascript 用几个if语句来重命名某些值的简写,javascript,arrays,object,rename,Javascript,Arrays,Object,Rename,我确实有一个包含对象的数组。某些对象属性必须重命名 所以我有一个函数,它给了我想要的结果,我当然知道开关的情况,但我想肯定有一种方法可以不那么费力地做到这一点。因此,我想知道对于一种速记技术来说,重命名一些属性值并保留那些不需要更改的属性值的正确方法是什么: renameMinMaxActual(data) { const newArray = data.map(element => { if (element.key.includes('Min')) {

我确实有一个包含对象的数组。某些对象属性必须重命名

所以我有一个函数,它给了我想要的结果,我当然知道开关的情况,但我想肯定有一种方法可以不那么费力地做到这一点。因此,我想知道对于一种速记技术来说,重命名一些属性值并保留那些不需要更改的属性值的正确方法是什么:

renameMinMaxActual(data) {
    const newArray = data.map(element => {
      if (element.key.includes('Min')) {
        element.key = element.key.replace('Min', '.min');
        return element;
      }
      if (element.key.includes('Max')) {
        element.key = element.key.replace('Max', '.max');
        return element;
      }
      if (element.key.includes('Actual')) {
        element.key = element.key.replace('Actual', '.actual');
        return element;
      } else {
        return element;
      }
    });
    console.log('newArray', newArray);
  }

事实上,有很多方法可以最小化代码-你提到的“速记”-这里有一个。我很想看看别人能提供什么

使用这种方法,要转换的键集在
keyTransforms
中定义,这使得添加新键非常容易,而无需更改
transformKeys
功能

//定义要转换的所有键
常量键转换={
最小:'.Min',
Max:“.Max”,
实际:'.实际'
};
//transformKeys根据keyTransforms对象替换数据中找到的所有键。
功能键(数据){
返回data.map(元素=>{
//如果找到匹配项,请替换,否则不会更改。
element.key=keyTransforms[element.key]| | element.key;
返回元素;
});
}
//样本输入数据
常数数据=[{
键:“Min”
}, {
键:“Max”
}, {
关键:“实际”
}];
常量结果=转换键([…数据]);

控制台日志(结果)确实有很多方法可以最小化代码-你提到的“速记”-这里有一个。我很想看看别人能提供什么

使用这种方法,要转换的键集在
keyTransforms
中定义,这使得添加新键非常容易,而无需更改
transformKeys
功能

//定义要转换的所有键
常量键转换={
最小:'.Min',
Max:“.Max”,
实际:'.实际'
};
//transformKeys根据keyTransforms对象替换数据中找到的所有键。
功能键(数据){
返回data.map(元素=>{
//如果找到匹配项,请替换,否则不会更改。
element.key=keyTransforms[element.key]| | element.key;
返回元素;
});
}
//样本输入数据
常数数据=[{
键:“Min”
}, {
键:“Max”
}, {
关键:“实际”
}];
常量结果=转换键([…数据]);
控制台日志(结果)创建两个数组

fromKeys(当前键)
fromKeys=['Min','Max','Actual']

和toKeys(修改键)
toKeys=['.min'、'.max'、'.actual']

在遍历条目时,如果fromKeys中存在key,则获取索引并使用同一个key从toKeys数组中获取值,并在map()函数中返回的对象中设置该值

let data=[{Min:0,Max:1,Actual:5,type:“A”},{Min:0,Max:1,type:“B”},{Min:0,Max:1,type:“C”},{Min:0,Actual:5,type:“D”},{Max:1,Actual:5,type:“E”};
让fromKeys=['Min','Max','Actual'];
设toKeys=['.min','.max','.actual'];
console.log(data.map(obj=>{
设newObj={};
for(Object.entries(obj))的常量[key,value]{
设index=fromKeys.indexOf(key);
如果(索引!=-1)newObj[toKeys[index]]=值;
else newObj[key]=值;
}
返回newObj;
}));
.as控制台包装{max height:100%!重要;top:0;}
创建两个数组

fromKeys(当前键)
fromKeys=['Min','Max','Actual']

和toKeys(修改键)
toKeys=['.min'、'.max'、'.actual']

在遍历条目时,如果fromKeys中存在key,则获取索引并使用同一个key从toKeys数组中获取值,并在map()函数中返回的对象中设置该值

let data=[{Min:0,Max:1,Actual:5,type:“A”},{Min:0,Max:1,type:“B”},{Min:0,Max:1,type:“C”},{Min:0,Actual:5,type:“D”},{Max:1,Actual:5,type:“E”};
让fromKeys=['Min','Max','Actual'];
设toKeys=['.min','.max','.actual'];
console.log(data.map(obj=>{
设newObj={};
for(Object.entries(obj))的常量[key,value]{
设index=fromKeys.indexOf(key);
如果(索引!=-1)newObj[toKeys[index]]=值;
else newObj[key]=值;
}
返回newObj;
}));
。作为控制台包装{最大高度:100%!重要;顶部:0;}