我正在尝试从[' last,first']到[' first last']重新格式化一系列名称。我已经研究了如何在单个名称上执行此操作,但是在重新格式化整个名称数组时遇到了问题。
这是我到目前为止所做的:
<body>
<script>
class1 = ['Schmo, Joe', 'Smith, Billy','Brown, John']
function reverseName () {
for (a = 0; a < class1.length; a++) {
classA = class1[a].split(',').reverse.join(' ');
}
}
document.getElementById("firstLast").innerHTML = classA;
</script>
<p id = "firstLast"></p>
</body>
&#34; ClassA的&#34;将是输出数组,其名称格式为&#34; Joe Schmo&#34;,&#34; Billy Smith&#34;等等 谢谢!
答案 0 :(得分:0)
您可以使用Array.prototype.map
(ECMAScript 5):
var classA = ['Schmo, Joe', 'Smith, Billy','Brown, John'].map(function(item) {
return item.split(', ').reverse().join(' ');
});
或者,有了循环,
var class1 = ['Schmo, Joe', 'Smith, Billy','Brown, John'],
l = class1.length,
classA = Array(l);
for (var i = 0; i < l; ++i) {
classA[i] = class1[i].split(', ').reverse().join(' ');
}
答案 1 :(得分:0)
你没有将它分配回来看起来像拼写错误
class1[a] = class1[a].split(',').reverse.join(' ');
你也可以使用数组的map函数作为@Oriol指出 - 这可能更好。但上面的代码是对代码的“修复”。
答案 2 :(得分:0)
你差不多完成了。您需要将classA
声明为空数组,然后将class1
中的每个名称分配到classA
中的相同索引。
function reverseName () {
var classA = [];
for (a = 0; a < class1.length; a++) {
classA[a] = class1[a].split(',').reverse.join(' ');
}
return classA;
}