使数组中所有数字的绝对值都在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]));