簡體   English   中英

使用`.every`數組方法如何編寫一個函數來確定數組中的每個數字是否都是平方數?

[英]Using the `.every` array method how do I write a function that determines whether every number in an array is a square number?

我有一個問題,我需要編寫一個函數來確定數組中的每個數字是否都是平方數,特別是使用.every方法。 雖然,我不太確定如何處理它。

這是提供的起始代碼

function positiveProduct(array) {

}

問題

describe('allSquare', () => {
  it('should check if all numbers are square', () => {
    expect(allSquare([81, 9, 16])).to.be.true
    expect(allSquare([10, 50, 8])).to.be.false
  })
})

該函數應該將字符串轉換為數字,並且應該只返回一個正數。

你有什么問題嗎? 如何判斷一個數是否為平方數,或者如何使用.every方法?

無論如何,這就是你可以做到的:

function positiveProduct(numbers) {
  return numbers.every(number => number > 0 && Math.sqrt(number) % 1 === 0)
}

如果你不熟悉 ES6 箭頭函數,你也可以這樣做:

function positiveProduct(numbers) {
  return numbers.every(function(number) {
    return number > 0 && Math.sqrt(number) % 1 === 0
  })
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM