Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 将对象值更改为匹配的映射值_Javascript_Oop_Object_Ecmascript 6 - Fatal编程技术网

Javascript 将对象值更改为匹配的映射值

Javascript 将对象值更改为匹配的映射值,javascript,oop,object,ecmascript-6,Javascript,Oop,Object,Ecmascript 6,我有一个像这样的物体 const companyObj = { Advice_Charge: "B. In service / product cost" Org_Advisory: "B. 1-3" Org_Developers: "A. None" Org_MainCategory: "Business services and sales"

我有一个像这样的物体

const companyObj = 
    { 
      Advice_Charge: "B. In service / product cost"
      Org_Advisory: "B. 1-3"
      Org_Developers: "A. None"
      Org_MainCategory: "Business services and sales"
      Org_Name: "A1 Orchard Spreading"
      Org_Size_Facing: "B. 1-3"
      Org_SubCategory: "Contractor - Harvesting and cultivation"
    }
const sizeMap = {
          'A. None': '11-30',
          'B. 1-3': '1-3',
          'C. 4-10': '4-10',
          'D. 11 - 30': '11-30',
          'E. 31 - 100': '31-100',
          'F. 100 - 300': '100-300',
          'G. 301 - 1000': '301-1000',
          'H. 1,000+': '1000 +',
          'J. ???': '1-3',
        }
{Org_Size_Facing: '1-3'} // I don't really care about the other properties at this point..
我还有一个物体看起来像这样

const companyObj = 
    { 
      Advice_Charge: "B. In service / product cost"
      Org_Advisory: "B. 1-3"
      Org_Developers: "A. None"
      Org_MainCategory: "Business services and sales"
      Org_Name: "A1 Orchard Spreading"
      Org_Size_Facing: "B. 1-3"
      Org_SubCategory: "Contractor - Harvesting and cultivation"
    }
const sizeMap = {
          'A. None': '11-30',
          'B. 1-3': '1-3',
          'C. 4-10': '4-10',
          'D. 11 - 30': '11-30',
          'E. 31 - 100': '31-100',
          'F. 100 - 300': '100-300',
          'G. 301 - 1000': '301-1000',
          'H. 1,000+': '1000 +',
          'J. ???': '1-3',
        }
{Org_Size_Facing: '1-3'} // I don't really care about the other properties at this point..
我试图使用sizeMap更改对象内部的一个属性

我想让companyObj看起来像这样

const companyObj = 
    { 
      Advice_Charge: "B. In service / product cost"
      Org_Advisory: "B. 1-3"
      Org_Developers: "A. None"
      Org_MainCategory: "Business services and sales"
      Org_Name: "A1 Orchard Spreading"
      Org_Size_Facing: "B. 1-3"
      Org_SubCategory: "Contractor - Harvesting and cultivation"
    }
const sizeMap = {
          'A. None': '11-30',
          'B. 1-3': '1-3',
          'C. 4-10': '4-10',
          'D. 11 - 30': '11-30',
          'E. 31 - 100': '31-100',
          'F. 100 - 300': '100-300',
          'G. 301 - 1000': '301-1000',
          'H. 1,000+': '1000 +',
          'J. ???': '1-3',
        }
{Org_Size_Facing: '1-3'} // I don't really care about the other properties at this point..
基本上,如果
companyObj.Org\u Size\u-face
返回
sizeMap
sizeMap
中的任何字段,则应返回适当的值

我试过了

console.log(
          'objAsign',
          Object.assign(companyObj.Org_Size_Facing, sizeMap['Org_Size_Facing']),
        )
这太离谱了,但我相信你们都明白了


如果您想覆盖原始对象,请执行以下操作,我们将非常感谢您提供的任何帮助:

if(sizeMap.hasOwnProperty(companyObj.Org\u Size\u-face)){
companyObj.Org\u Size\u face=sizeMap[companyObj.Org\u Size\u face]

}
您可以循环查看
companyObj
的条目(键对、值对),并使用检查属性是否在
sizeMap
对象中(请注意,它看起来也在原型链中)

如果你只需要至少一处房产,那么你可以早点休息

运行示例

const companyObj={
建议费用:“B.服务/产品成本”,
组织咨询:“B.1-3”,
组织开发者:“无”,
组织单元主分类:“业务服务和销售”,
组织名称:“A1果园扩展”,
组织大小面向:“B.1-3”,
组织单位子类别:“承包商-收获和栽培”,
}
常量大小映射={
“A.无”:“11-30”,
“B.1-3”:“1-3”,
“C.4-10”:“4-10”,
“D.11-30”:“11-30”,
‘E.31-100’:‘31-100’,
“F.100-300”:“100-300”,
“G.301-1000”:“301-1000”,
“H.1000+”:“1000+”,
‘J.???’:‘1-3’,
}
for(Object.entries(companyObj))的常量[key,val]{
if(尺寸映射中的val){
companyObj[key]=sizeMap[val];
break;//如果不需要检查其他属性
}
}

console.log(companyObj)
您可以使用..的
来完成它。。在
循环中

const companyObj={
建议费用:“B.服务/产品成本”,
组织咨询:“B.1-3”,
组织开发者:“无”,
组织单元主分类:“业务服务和销售”,
组织名称:“A1果园扩展”,
组织大小面向:“B.1-3”,
组织单位子类别:“承包商-收获和栽培”
}
常量大小映射={
“A.无”:“11-30”,
“B.1-3”:“1-3”,
“C.4-10”:“4-10”,
“D.11-30”:“11-30”,
‘E.31-100’:‘31-100’,
“F.100-300”:“100-300”,
“G.301-1000”:“301-1000”,
“H.1000+”:“1000+”,
‘J.???’:‘1-3’,
}
for(让我们输入companyObj){
if(尺寸映射中的companyObj[key]{
设val=companyObj[key];
companyObj[key]=sizeMap[val];
}
}
console.log(companyObj)