使数组中所有数字的绝对值都在Javascript
Make all numbers in array Absolute value in Javascript
我试图使下面数组中的所有值成为绝对值,在尝试了几种方法后出现的结果是数组中的第一个元素 5。以下是给出的代码:
describe('absoluteValueArray', () => {
it('Gets multiple absolute values', () => {
const result = absoluteValueArray([-5,-50,-25,-568])
expect(result).toEqual([5,50,25,568])
})
})
我试过的功能如下:
const absoluteValueArray = (array) => {
var index, len;
var array = ["-5", "-50", "-25" , "-568"];
for (index = 0, len = array.length; index < len; ++index) {
let res = Math.abs(array[index]);
return res;
}
}
你的方法在这一行和下一行都不行
let res = Math.abs(array[index]);
return res;
因为你需要将绝对值赋给数组或者同索引的新数组,比如
resultArray[i] = Math.abs(array[index]);
和return数组在完成循环后。
循环内部的原始return以第一个元素退出循环。
相反,您可以选择 Math.abs
as callback for Array#map
。
const absoluteValueArray = (array) => {
return array.map(Math.abs);
}
console.log(absoluteValueArray([-5, -50, -25, -568]));
我试图使下面数组中的所有值成为绝对值,在尝试了几种方法后出现的结果是数组中的第一个元素 5。以下是给出的代码:
describe('absoluteValueArray', () => {
it('Gets multiple absolute values', () => {
const result = absoluteValueArray([-5,-50,-25,-568])
expect(result).toEqual([5,50,25,568])
})
})
我试过的功能如下:
const absoluteValueArray = (array) => {
var index, len;
var array = ["-5", "-50", "-25" , "-568"];
for (index = 0, len = array.length; index < len; ++index) {
let res = Math.abs(array[index]);
return res;
}
}
你的方法在这一行和下一行都不行
let res = Math.abs(array[index]);
return res;
因为你需要将绝对值赋给数组或者同索引的新数组,比如
resultArray[i] = Math.abs(array[index]);
和return数组在完成循环后。
循环内部的原始return以第一个元素退出循环。
相反,您可以选择 Math.abs
as callback for Array#map
。
const absoluteValueArray = (array) => {
return array.map(Math.abs);
}
console.log(absoluteValueArray([-5, -50, -25, -568]));