【问题标题】:How to map in "old JS" ECMAScript 5?如何在“旧 JS”ECMAScript 5 中映射?
【发布时间】:2021-09-14 20:06:29
【问题描述】:

我有 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}

【问题讨论】:

  • .map() 在 ES5 和 ES6 中的工作方式完全相同。没有变化。您只需要使用普通函数而不是箭头函数。
  • 所以如果你有箭头函数(i) => something,就改成function(i) { return something; }
  • 你只使用随机分隔符吗? jsfiddle.net/g7ndjtwy

标签: javascript ecmascript-5


【解决方案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 

现在您可以使用 map 或任何循环函数来获取所有数组数据

【讨论】:

    猜你喜欢
    • 2022-08-04
    • 1970-01-01
    • 2023-01-07
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2022-12-29
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多