将名称数组从“姓氏”、“第一个”更改为“姓氏”
Change array of name from Last, First to First Last
我正在尝试将名称数组从['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>
"ClassA"将是名称为"Joe Schmo"、"Billy Smith"等格式的输出数组。谢谢!
你几乎完成了它。您需要将classA
声明为空数组,然后将 class1
中的每个名称分配给 classA
中的同一索引。
function reverseName () {
var classA = [];
for (a = 0; a < class1.length; a++) {
classA[a] = class1[a].split(',').reverse.join(' ');
}
return classA;
}
你不把它分配回来看起来像一个错字
class1[a] = class1[a].split(',').reverse.join(' ');
你也可以使用数组的map函数,正如@Oriol指出的那样 - 这可能更好。 但上面的一行是对代码的"修复"。
您可以使用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(' ');
}
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- 字母计数:返回重复字母数最多的第一个单词
- 如何使用Javascript在HTML表中查找第一个空行
- 分页:如何用AJAX加载第一个页面
- 全局标志仅与第一个匹配项匹配的Regexp
- 访问ng repeat中的第一个项目
- 使用jQuery只返回选中复选框后的第一个表单元格值
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 关闭第二个事件源上的第一个事件源's onopen方法
- 无法获取vis.js最后一个或第一个选定的网络节点
- 如何设置第一个手风琴面板关闭
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- jQuery空选择,但不是第一个选项
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- 在Jquery中选择第一个搜索项而不单击它
- Thunderbird,如何以编程方式选择第一个选项卡
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- Spring WebFlow2 Javascript只在第一个单选按钮上工作
- 获取列表中以该字母开头的多个姓氏中的第一个姓氏的首字母