Javascript 使用对象中不同的数组元素创建新数组
我有一个里面有两个数组的对象,如何创建一个新数组,数组1中的每个元素与数组2中相应的元素都有差异。 例如,这里的结果数组应该是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", "$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' ]