2017-05-30 28 views
0

我正在使用JavaScript處理操作轉換庫。我遇到了一個問題,即在Emoji上測試.length屬性返回2或3.(有趣的實驗!在您的Node REPL中運行[...'‍‍'])。使Emojis在JavaScript中返回1的長度

這不會是一個問題,除了庫的服務器部分將emojis讀取爲長度爲1的事實,無論是表情符號。

我正在做的是讓JS返回Emojis長度爲1.有沒有像那樣的東西?

謝謝!

回答

2

不,本地,你不能。

有模塊,以解決這一問題,比如stringzstring-length(這似乎是越野車):

const stringLength = require("stringz"); 

''.length; 
//=> 2 

stringLength(''); 
//=> 1 

stringLength('‍‍'); 
//=> 1 

然而,你不能修改這些字符的長度,因爲這是他們如何被修造。

+1

但是'stringLength('')'是5,因爲它是一個組合字符(MAN + ZWJ + WOMAN + ZWJ + GIRL)。這是否「正確」是一個複雜的問題。 – duskwuff

+0

@duskwuff哦,對。我發現另一個:'stringz'似乎工作。 –