Javascript 使用对象中不同的数组元素创建新数组

Javascript 使用对象中不同的数组元素创建新数组,javascript,jquery,arrays,json,object,Javascript,Jquery,Arrays,Json,Object,我有一个里面有两个数组的对象,如何创建一个新数组,数组1中的每个元素与数组2中相应的元素都有差异。 例如,这里的结果数组应该是 ["$1", "$5", "$6"] { "2": ["$3","$4","$8"], "3": ["$4","$9","$2"] } 您可以使用 首先,需要从两个数组中获取索引相同的元素 将它们转换为Number类型 获取差值,但务必使用Math.abs获取绝对值 通过在结果之前添加$返回结果 cons

我有一个里面有两个数组的对象,如何创建一个新数组,数组1中的每个元素与数组2中相应的元素都有差异。 例如,这里的结果数组应该是

["$1", "$5", "$6"]
{
"2": ["$3","$4","$8"], 
"3": ["$4","$9","$2"]
}

您可以使用

  • 首先,需要从两个数组中获取索引相同的元素
  • 将它们转换为
    Number
    类型
  • 获取差值,但务必使用
    Math.abs
    获取绝对值
  • 通过在结果之前添加
    $
    返回结果
  • const obj={
    "2": ["$3", "$4", "$8"],
    "3": ["$4", "$9", "$2"],
    };
    const result=obj[“2”].map((el,i)=>{
    //第一步
    const first=obj[“2”][i];
    const second=obj[“3”][i];
    //第二步
    常量正则表达式=/\d+/;
    const firstNumber=parseInt(first.match(regex));
    const secondNumber=parseInt(second.match(regex));
    //第三步
    const diff=Math.abs(firstNumber-secondNumber);
    //第四步
    返回`${diff}`;
    });
    控制台日志(结果)
    常量对象={
    "2": ["$3","$4","$8"], 
    "3": ["$4","$9","$2"]
    }
    常量键=对象。键(对象)
    const keysReversed=keys.reverse()
    常量差数组=[]
    常量长度=对象[0].长度
    for(让索引=0;索引<长度;索引++){
    const element1=object[0][index].replace(“$”,“);
    const element2=object[keysinversed[1][index].replace(“$”,”);
    differenceArray.push(`${Math.abs(element1-element2)}`)
    }
    console.log(differenceArray)/['$1','$5','$6']
    
    您的尝试在哪里?请记住,SO在这里帮助您调试代码,而不是为您编写代码
    const object = {
      "2": ["$3","$4","$8"], 
      "3": ["$4","$9","$2"]
    }
     
    const keys = Object.keys(object)
     
    const keysReversed = keys.reverse()
     
    const differenceArray = []
    
    const length = object[keysReversed[0]].length
    
    for (let index = 0; index < length; index++) {
        const element1 = object[keysReversed[0]][index].replace('$', '');
        const element2 = object[keysReversed[1]][index].replace('$', '');
        differenceArray.push(`$${Math.abs(element1 - element2)}`)
    }
    
    console.log(differenceArray) // [ '$1', '$5', '$6' ]