2016-12-28 3 views
0

Я работаю над классом, и мне было предложено закодировать следующее для массива loop, но я не понимаю пошагового процесса в том, как он работает. Может ли кто-нибудь объяснить это мне? Это находит квадратный корень, но я не понимаю шаг за шагом, как это работает.Я не понимаю, как работает массив

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 

// Write your code below this line 
var newArray = []; 
for (i = 0; i < oldArray.length; i++) { 
    newArray.push(oldArray[i] * oldArray[i]); 
} 
+4

Первое, что нужно понять: это не находит никаких квадратных корней. – Pointy

+3

Ваш код делает противоположное от поиска квадратных корней. Он вычисляет квадраты. – Oriol

+0

с помощью Google, [массивы в javascript] (https://www.google.com/search?q=arrays+in+javascript&oq=arrays+in+javascript) –

ответ

0

Он принимает каждый элемент oldArray и умножения с самим собой и толкает его к newArray

проверки этого

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 
 

 
// Write your code below this line 
 
var newArray = []; 
 
for (i = 0; i < oldArray.length; i++) { 
 
    newArray.push(oldArray[i] * oldArray[i]); 
 
} 
 

 
console.log(newArray);

но вам не нужно иметь для петли для этого, то же самое можно достичь, используя карту

проверить этот фрагмент

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 
 

 
// Write your code below this line 
 
var newArray = []; 
 

 
newArray = oldArray.map(function(number) { 
 
    return number * number; 
 
}); 
 

 

 
console.log(newArray);

Надеется, что это помогает

+3

А, еще рано для карты(), вам не кажется? :) – sinisake

2

На самом деле, это найти квадраты чисел, а не квадратного корня. Вот некоторые наблюдения:

oldArray это просто список (массив) чисел:

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 

newArray начинается как пустой список:

var newArray = []; 

The for -loop посещения каждого элемента в oldArray. В каждой итерации, i увеличивается на единицу (с использованием i++) до тех пор, как i не достиг длины oldArray:

for (i = 0; i < oldArray.length; i++) 

newArray.push добавляет элемент к концу newArray. Товар добавлен является значение положения i в oldArray (также называется «i -м ввод oldArray»), умноженное с собой:

newArray.push(oldArray[i] * oldArray[i]); 
0

код, как написано здесь не найти квадратный корень. Он создает новый массив, где каждый элемент представляет собой квадрат элемента старого массива с тем же индексом.

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 
 

 
// Write your code below this line 
 
var newArray = []; 
 
for (i = 0; i < oldArray.length; i++) { 
 
    newArray.push(oldArray[i] * oldArray[i]); 
 
} 
 

 
console.log(newArray) 
 
// [144, 2025, 36, 529, 361, 400, 400, 225, 900, 1764]

0

Это даст вам квадратные корни:

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 

// Write your code below this line 
var newArray = []; 
for (i = 0; i < oldArray.length; i++) { 
    newArray.push(Math.sqrt(oldArray[i])) 

    console.log(newArray); 
//[3.4641016151377544, 6.708203932499369, 2.449489742783178, 4.795831523312719, 4.358898943540674, 4.47213595499958, 4.47213595499958, 3.872983346207417, 5.477225575051661, 6.48074069840786] 
} 

Хорошо ... вот что происходит ...

  1. oldArray в основном только набор чисел (называемый массивом).
  2. newArray также представляет собой набор чисел, но начинается с полного набора ([]). Вы собираетесь в push номеров в этот набор/массив, используя цикл for.
  3. Для циклов в основном говорят, что если это правда (или ложь), тогда сделайте это, еще раз проверьте, сделайте это снова ... пока оно больше не будет истинным (или больше не будет ложным). В вашем случае вы говорите, что переменная называется i = 0. Тогда ... i < oldArray.length; говорит, что если i меньше, чем общее количество цифр в вашем oldArray наборе/массиве, то (i++) добавить 1 до i (вот что i++ средства)
  4. Тогда вы говорите push некоторую информацию в newArray, который является квадратным корнем (Math.sqrt) из oldArray[i], что означает число в позиции i в вашем наборе. Если i было 3 (помните, что мы каждый раз увеличиваем i), тогда мы будем ссылаться на 6, что является третьим числом в вашем массиве.
  5. Ваша петля работает до i = 10, а это количество чисел в вашем массиве.
2

Этот код фактически дает новый массив, каждый элемент которого является квадратом элементов в исходном массиве.

Это первая часть инициализирует массив значений:

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 

Следующая часть создает новый массив для хранения квадратиков

var newArray = []; 

Теперь для последней части.. Эта часть использует цикл for для прохождения каждого индекса в исходном массиве. Каждый элемент в массиве имеет индекс или больше в основном «число», которое используется для поиска размещения элементов в массиве. Число индексов колеблется от 0 до длины массива - 1. Значение -1 начинается с нуля. Поэтому этот цикл проходит каждый элемент по порядку, беря его и умножая его сам по себе, а затем сохраняя его в новом массив.

for (i = 0; i < oldArray.length; i++) { 
    newArray.push(oldArray[i] * oldArray[i]); 
} 

Следующая строка - это то, что конкретно выполняет «квадратную операцию». Он принимает текущий элемент, а затем сам умножает его, принимая тот факт, что квадрат n равен n * n. Затем он «толкает» его в новый массив или, другими словами, добавляет его в новый массив.

newArray.push(oldArray[i] * oldArray[i]); 
0

1. Инициализация массива с номерами

Вы можете просто инициализировать пустой массив в JavaScript как var Arrays=[]; Затем присвоить некоторые значения этого массива, как Arrays[0]=0; Arrays[1]=1; Так вот вы делаете обе работы в одном шаге

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; 

2. Инициализация нового массива для хранения Out put

Вы хотите, чтобы массив остатка хранил выходы, которые вы хотите.Таким образом, вы инициализируете этот массив здесь,

var newArray = []; 

3. Запуск Loop

Вы используете нормальный for цикл, чтобы получить каждые элементы в шаге петлевого шагом. Вы можете использовать foreach и некоторые другие способы сделать это действие также,

for (i = 0; i < oldArray.length; i++) { 
    // Code inside the Loop 
} 

4. Назначьте выход на новый массив

Вы получаете выходные данные с помощью oldArray[i] * oldArray[i]. Затем после того, как вы вставляете это выходное значение в новый массив, используя команду push. Вы помещаете эту строку в цикл, чтобы каждый шаг шаг за шагом выводить на новый массив.

newArray.push(oldArray[i] * oldArray[i]); 
Смежные вопросы