将名称数组从Last,First更改为First Last

时间:2014-12-24 15:09:48

标签: javascript arrays

我正在尝试从[' 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;等等 谢谢!

3 个答案:

答案 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;
}