Как отобразить в «старом JS» ECMAScript 5?

#javascript #ecmascript-5

Вопрос:

У меня есть 4 строки, которые я хотел бы разделить с помощью ECMAScript 5 и создать новый объект с каждым первым элементом вместе.

Исключение: Каждый первый элемент массива остается в новой переменной, содержащей первый элемент первого элемента второго массива и первый элемент последнего массива. Конечно, мне пришлось отделить {PANTONE…} от желтого (они находятся в одном массиве), и я создал новый массив и придал ему цвет «желтый». После того, как я разделяю первые секунды секундами и т. Д., Я сопоставляю их с новой переменной

Я сделал это с современным JS, но я понятия не имею, как я могу сделать это с «старым» JS:

 var name = ["{PANTONE Yellow C}  {PANTONE 364 C} {PANTONE 137 U} magenta black {PANTONE Reflex Blue C} cyan"]

var percentage = ["0.546829 6.88961 1.03087 0.135706 10.2713 1.98788 0.508267 17.6122"]

var surface = ["1033.87 13025.6 1948.99 256.568 19419 3758.33 960.938 33297.9"]
 

Я хочу нанести его на карту вот так:

 var result = 
{{PANTONE Yellow C}, yellow, 0.546829, 1033.87},
{{PANTONE 364 C}, "no color", 6.88961,6.88961},
{{PANTONE 137 U}, magenta, 1.03087, 1948.99}
 

Комментарии:

1. .map() работает точно так же в ES5, как и в ES6. Никаких изменений нет. Вам просто нужно использовать обычную функцию вместо функции со стрелкой.

2. Поэтому , если у вас есть функция со стрелкой (i) => something , просто измените ее на function(i) { return something; }

3. Вы просто используете случайные разделители? jsfiddle.net/g7ndjtwy

Ответ №1:

вы должны использовать разнесение строки по пространству, в более сложной ситуации вам следует использовать регулярное выражение для преобразования строки в массив. прежде всего, вам нужно преобразовать строки в массив, а затем вы можете создать объект этих данных или распечатать его по своему усмотрению.

 let str = "0.546829 6.88961 1.03087 0.135706 10.2713 1.98788 0.508267 17.6122";
const arrayExploded = str.split(" ");
arrayExploded[0] //will get 0.546829 
 

теперь вы можете использовать карту или любую функцию цикла, чтобы получить все данные массива