Другие ответы хороши, но не хватало объяснения , что творилось, которую я не любил.
Ваш текущий код document.getElementById("shape_layout").elements;
, который является массивом-подобным объектом. Давайте сначала напишем функцию, которая принимает элемент как аргумент и возвращает новый элемент, который должен заменить старый.
function(oldItem){
return oldItem.value;
}
это можно переписать, используя стрелки обозначения, как oldItem => oldItem.value
.
Как guest271314 упоминалось, мы можем создать новый массив, который также применяет функцию к каждому элементу, как и
Array.from(listLikeObject, function_to_use);
Давайте затыкать данные,
Array.from(document.querySelectorAll("#shape_layout input[value]"), el => el.value)
.
Беда в том, что это не совместимо с Internet Explorer, так как
- функции стрелки не поддерживаются
Array.from
не поддерживается
Основной for
цикл, вероятно, будет наиболее совместимым Вот. Это подход, принятый в ответе Ionut.
var theArray = []
for(var i = 0; i < document.querySelectorAll("#shape_layout input[value]").length; i++){
theArray.push(document.querySelectorAll("#shape_layout input[value]")[i]);
}
Теперь я собираюсь сломать это по очереди.
theArray
- массив, который будет хранить выход. var theArray = [];
устанавливает его как пустой массив.
for(var i = 0; i < document.querySelectorAll("#shape_layout input[value]").length; i++)
его можно разбить на три части.
var i = 0;
наборы i
к 0
в самом начале.
i < document.querySelectorAll("#shape_layout input[value]").length
- это условие, которое должно выполняться каждую итерацию цикла. Это условие гарантирует, что есть элемент списка с индексом i
, а если нет, то он выйдет из цикла.
i++
является сокращением на i = i + 1
и составляет i
1 больше, чем было раньше. Это происходит в конце каждой итерации цикла, как раз перед проверкой состояния.
thisArray.push
будет добавлен в конец массива.
document.querySelectorAll("#shape_layout input[value]")[i]
- обозначение индекса, чтобы взять i
-й элемент в массиве.
Итак, из элементов вы хотите отобразить массив своих значений? – Taplar