【发布时间】:2018-11-15 01:37:31
【问题描述】:
我正在尝试解读一个数组。该数组包含乱序的字符串项,并附有一个数字以指定顺序应该是什么。我想获取数组项中的数字并重新分配数组项索引以反映该数字。例如var scrambled = ["pizza4", "to2", "I0", "eat3", "want1"]。我有一个函数可以在数组中搜索附加的数字并返回值。现在我想获取返回的值并将其转换为新数组中新项目的索引,例如var unscrambled = []。这是我目前所拥有的:
function unscramblePhrase() {
var scrambled = ["pizza4", "to2", "I0", "eat3", "want1"];
var unscrambled = [];
for (var counter = 0; counter < scrambled.length; counter++) {
numPosition = scrambled[counter].search('[0-9]');
arrayIndex = scrambled[counter].substring(numPosition);
console.log(arrayIndex);
unscrambled.push(scrambled[arrayIndex]);
}
console.log(unscrambled)
}
我看到我的 arrayIndex 正在从加扰数组项的末尾提取数字,但我尝试根据此变量分配索引位置正在生成一个新加扰数组:["want1", "I0", "pizza4", "eat3", "to2"]。
【问题讨论】:
-
如果字符串包含多个数字怎么办:
"abc10def22"?如果有相同编号的字符串:["abc12", "def12"]?如果缺少号码:["abc0", "def3"](缺少2)怎么办? -
@ibrahimmahrir 也是这么想的。显然,这是一个非常具体的案例。正如 OP 所提到的,他已经有一种从字符串中提取数字的方法。
-
出于本示例的目的。假设数组包含所有正确的数字 (0-4) 并且没有重复。
-
你想要什么输出?
-
我希望它读作“I0 want1 to2 eat3 Pizza4”。
标签: javascript arrays