Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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在HashMap中查找基于不区分大小写键的值_Javascript_Json_Hashmap - Fatal编程技术网

如何使用Javascript在HashMap中查找基于不区分大小写键的值

如何使用Javascript在HashMap中查找基于不区分大小写键的值,javascript,json,hashmap,Javascript,Json,Hashmap,我在下面的逻辑中传递了一个JSON对象和一个HashMap:- export const modifyKeys = (obj: { [x: string]: any; }, myMap: any) => { Object.keys(obj).forEach(key => { if (myMap !== undefined) { if (myMap.has(key)) { var fieldName = m

我在下面的逻辑中传递了一个JSON对象和一个HashMap:-

export const modifyKeys = (obj: { [x: string]: any; }, myMap: any) => {
    Object.keys(obj).forEach(key => {
        if (myMap !== undefined) {
            if (myMap.has(key)) {
                var fieldName = myMap.get(key);
                //console.log('Field Name::', fieldName);
                obj[fieldName] = obj[key];
                delete obj[key];
                if (typeof obj[fieldName] === "object") {
                    modifyKeys(obj[fieldName], myMap);
                }
            }else{
                delete obj[key];
            }
        }
    });
}
我的映射包含键值,在这个JSON对象中,我将查找与键值匹配的相应属性,并执行一些操作,如用HashMap的值替换该属性,如果没有找到匹配项,则从JSON对象中删除该属性本身。但是现在的问题是,密钥必须区分大小写,因为会跳过一些数据。我想在比赛中考虑这个案子不敏感。例如,对于像这样的JSON对象

{
 firstName: 'Vinod',
 LastName: 'Kumar'
}
{
 f_name: 'Vinod',
 LastName: 'Kumar'
}
使用包含键值的Map作为FirstName-f_name,匹配应该发生,最终的对象应该是这样的

{
 firstName: 'Vinod',
 LastName: 'Kumar'
}
{
 f_name: 'Vinod',
 LastName: 'Kumar'
}

任何建议,伙计们,谢谢,我必须在myMap中循环键。。。但是,如果你没有任何钥匙的唯一区别是大小写的话,下面的方法就行了。。。基本上只是使用.toLowerCase()创建了规范化键

export const modifyKeys=(obj:{[x:string]:any;},myMap:any)=>{
Object.keys(obj.forEach)(key=>{
var normalizedKey=key.toLowerCase();
if(myMap!==未定义){
var mapKeys=Object.keys(myMap);
var-keyFound=false;
对于(var index=0;index