string.length输出错误的值?

时间:2019-08-19 11:35:17

标签: javascript angular

此代码在ngFor循环内的html模板中

{{ (user.text.length>1)? (user.text | slice:0:1)+'...':(user.text) }}
{{user.text.length}}

用户是具有以下文本属性示例的对象。

 user {
    name: dslkdskld,
    text: [johnd dskjsd, mark kdsdlk, joe sldk, john sdkds]
   }

String.length在这种情况下输出4。它假定逗号1字符之前的所有内容吗? 我希望获得整个用户的字符长度。

2 个答案:

答案 0 :(得分:1)

因为user.text不是text,所以它的array在这里

尝试打印{{ user.text[0] }},这将消除您的疑问

您所期望的应该是这样

user {
    name: "dslkdskld",
    text: "[johnd dskjsd, mark kdsdlk, joe sldk, john sdkds]" // <--- within quotes
}

答案 1 :(得分:0)

在javascript ArrayString中具有length属性。

所以, 这是包含4个元素的数组:

[johnd dskjsd, mark kdsdlk, joe sldk, john sdkds]

这个dslkdskld是长度为9的字符串

您可以在示例中选择所需的长度。