【发布时间】:2017-10-19 08:12:09
【问题描述】:
我被这个挑战困住了,任何帮助都会很棒。
'创建一个同时接受字符串和数字数组作为参数的函数。按照索引号指定的顺序重新排列字符串中的字母。返回“重新混合”的字符串。 例子
remix("abcd", [0, 3, 1, 2]) ➞ "acdb"'
我的尝试-
function remix(str, arr) {
var arr2 = [];
for (var i=0; i<str.length; i++){
arr2.splice(arr[i], 0, str[i]);
}
return arr2.join("");
}
这将解决一些但不是所有的测试。 例如。 ("abcd", [0, 3, 1, 2]) = "acdb" 但有些没有。 例如。 "责任", [0, 6, 8, 11, 10, 7, 13, 5, 3, 2, 4, 12, 1, 9]) 应该是-“rtibliensyopis”我的是“rteislbpoyinsi”
【问题讨论】:
-
我不太明白
[0, 3, 1, 2]的问题是如何将其重新混合为"acdb"的?请给我一个线索。 -
@NanduKalidindi 我想我明白了,
0,3,2,1的意思是“将"a"移动到0,然后将"b"移动到3,"c"到1和@987654333@1到2。这给出了预期的“acdb”(因此数组告诉了将字母移动到哪里,而不是移动哪些字母)。 -
完美!现在它是有道理的。谢谢。
标签: javascript arrays string