AngularJS:把数组打印成字符串的好方法
AngularJS: Neat way to print array as string
我有一个下面的数组:
"cast": [
{
"name": "James Stewart"
},
{
"name": "Kim Novak"
},
{
"name": "Barbara Bel Geddes"
},
{
"name": "Tom Helmore"
}
]
在AngularJS中将它格式化为:
James Stewart, Kim Novak, Barbara Bel Geddes, Tom Helmore
是否有办法使用filter
或formatter
,以便我可以在模板中整齐地完成:
<font class="authors-string">{{ object.cast | filter/formatter/? }}</font>
我认为在控制器中为这个简单的解析编写逻辑会使控制器体混乱。
谢谢你的关注。
这是一个从每个数组元素中提取特定道具的过滤器,然后使用分隔符将它们连接起来(示例):
app.filter('join', function () {
return function join(array, separator, prop) {
if (!Array.isArray(array)) {
return array; // if not array return original - can also throw error
}
return (!angular.isUndefined(prop) ? array.map(function (item) {
return item[prop];
}) : array).join(separator);
};
});
用法:
<p class="authors-string">{{ cast | join:', ':'name' }}</p>
如果是平面数组,则去掉第三个参数:
<p class="authors-string">{{ animals | join:', ' }}</p>
您可以使用'ng-repeat' - https://docs.angularjs.org/api/ng/directive/ngRepeat
一个例子是:
<div ng-repeat="(key, value) in myObj"> ... </div>
在除最后一个值以外的所有值上加逗号:
<div ng-repeat="(key, value) in myObj"> ... <span ng-if="!$last">, </span></div>
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 在JavaScript中拆分日期字符串的更好方法是什么
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- jQuery字符串使用split()方法在空格后拆分字符串
- 使用查询字符串方法清除浏览器缓存
- 使用子字符串方法时应用程序挂起的原因
- 使用字符串方法更改Javascript对象中的DOM元素参数
- 在Javascript中对对象属性执行字符串方法
- 直接访问字符串方法
- 尝试我自己的字符串方法来删除元音
- 对字符串方法的ajax调用不起作用
- 字符串方法精确文本
- 如何在字符串原型扩展方法中使用字符串方法
- 有没有任何字符串方法,能让我把一串数字,转换成一串数字和字母
- 字符串方法
- 在定义新的字符串方法时使用reduce()
- 问题与自定义大写字符串方法,jQuery和Select2
- 使用比较字符串方法或使用==验证密码字段,但两者都不起作用
- 如何防止javascript缓存?查询字符串方法不起作用