Lodash - 字符串

时间:2016-11-20 10:35:15

标签: lodash

我发现在lodash中,数组方法也适用于字符串。例如:

> _.last('abc')
'c'

> _.indexOf('abc', 'x')
-1

这是一种标准行为吗?可以依赖吗?据我所知,文档没有说明任何内容。

请注意,上述方法只是示例。我更倾向于知道lodash是否期望其数组方法用于字符串。我需要编写生产代码,我不能依赖有效的东西,但标准文档没有提及,承认或保证。

1 个答案:

答案 0 :(得分:3)

您可以认为String基本上是一个字符数组。它们具有您在阵列上找到的某些属性和功能,例如.length.indexOf()

根据.last .indexOf的lodash来源,他们使用.length属性来确定最后一个字符或索引数组中的一个字符。

由于lodash使用括号表示法(str[0])来查找项目的最后一个字符/索引,因此这些实现虽然可以在大多数情况下使用Strings,因为它们具有类似Array的特性,但并不适用。用数组。这是not universally supported,例如对于IE7,这就是为了访问字符串的给定索引处的字符而存在charAt方法的原因。

你可以本地做这两件事:

var str = 'mystring';
str.charAt(str.length - 1); // 'g'

var str = 'mystring';
str.indexOf('y') // 1`