Сижу разбираюсь с такой штукой… есть функция,которая принимает массив и число. Возвращает массив возведённый в степень передаваемого числа ,и записывает результаты возведения каждого элемента массива рядом,например передаем ([1,2,3,4],2)
(2
- это ‘число’ степень в которую возводим), функция возвращает [1,1,2,4,3,9,4,16]
Помогите разобраться.
1 лайк
А что именно не получается?
не получается задать позиции возведённым в степень всем элементам.
разобрался как впихнуть в средину ,и то , только 1…
попробуй в цикле делать ```
newArray.push(array[i]);
newArray.push(Math.pow(array[i],exponent));
1 лайк
вся фишка в том ,чтобы без пуша и прочих методов.
в [первом] элементе должна быть единица
без пуша и прочих методов
как так? мне тоже интересно, как можно решить без методов :grinning:
Пока такой вариантик (надеюсь, нет запретов на размещение своего кода):
function getArray(arr, exp) {
function involution(num, exp) {
var res = 1;
for (var j = 0; j < exp; j += 1) {
res *= num;
}
return res;
}
resultArr = [];
for (var i = 0; i < arr.length; i += 1) {
resultArr.push(arr[i]);
resultArr.push(involution(arr[i], exp));
}
return resultArr;
}
console.log(getArray([1, 2, 3, 4], 2));
2 лайка
:relaxed: Если arr[i-1]
это последний элемент массива,то можно же как-то отталкиваясь от этого,работать с остальными элементами,без методов всяких? Вручную так сказать ковырять
Переделал вариант @maxellort, теперь без push
function getArray(arr, exp) {
function involution(num, exp) {
var res = 1;
for (var j = 0; j < exp; j += 1) {
res *= num;
}
return res;
}
resultArr = [];
for (var i = 0; i < arr.length; i += 1) {
resultArr[i*2]=(arr[i]);
resultArr[i*2+1]=(involution(arr[i], exp));
}
return resultArr;
}
console.log(getArray([1, 2, 3, 4], 2));
3 лайка