使数组中的所有数字在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;
    }

}

解决方法

您的方法在此行和下一行中均无效

Public Class Form1
    Private Async Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click

        Dim sRet As String = ""

        sRet = Await smoff.Mailjet.SmoffMail.SendMailAsync("[email protected]")

        MsgBox(sRet)

    End Sub
End Class

因为您需要将绝对值分配给数组或具有相同索引的新数组,例如

let res = Math.abs(array[index]);
return res;

并在完成循环后返回数组。

循环内的原始返回值从第一个元素退出循环。


相反,您可以将Math.abs作为Array#map的回调。

resultArray[i] = Math.abs(array[index]);