Возведение в куб число и массив числовых значений используя функцию
Есть такая задача:
Напишите функцию extraCube, которая принимает в качестве параметра или число, или массив числовых значений и возвращает либо куб числа, либо массив кубов, в зависимости от типа входящего параметра (typeof). Для расчета куба числа вместо встроенного метода Math.pow используйте собственную функцию. console.log( extraCube(2) ); // 8 console.log( extraCube([0, 1, 2, 3]) ); // [0, 1, 8, 27] как число возвести в куб я разобралась: function square(x) { return x*x; } function extraCube(x) { return x*square(x); } либо так function extraCube(x) { return x*x*x; } console.log( extraCube(2) ); а вот с массивом чисел не понятно как это можно сделать. Причем для числа и массива чисел это должна быть одна функция. Помогите пожалуйста |
function toCube(x /* number */) { return x*x*x; } function extraCube(x /* number | Array<number> */) { if(x instanceof Array) return x.map(toCube); // [url]https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/map[/url] return toCube(x); } |
а можете мне расписать как оно работает?)
|
кажется разобралась
Я правильно понимаю, что функция extraCube нам посчитает массив,а toCube - числа? И если наши числа это не массив, то сработает return toCube(x);? |
var extraCube =(x) => x = x===0||+x ? x*x*x : x.map((x) => x*x*x); |
j0hnik,
Цитата:
Цитата:
|
спасибо
|
Цитата:
var extraCube =(x) => x = x==0||+x ? x*x*x : x.map((x) => x*x*x); console.log(extraCube([2,2])); console.log(extraCube(2)); рони, да и массив и число можно. |
Цитата:
поэтому лучше Цитата:
|
Цитата:
var extraCube =(x) => x = x instanceof Array? x.map((x) => x*x*x):x*x*x; Рони, для вас! :thanks: |
Часовой пояс GMT +3, время: 15:30. |