gpt4 book ai didi

Javascript toArray 避免剪切字符

转载 作者:行者123 更新时间:2023-12-03 02:24:51 27 4
gpt4 key购买 nike

我有一个简单的问题。

这是我的代码,问题是当我运行一些表情符号时,它会将它们显示为?,因为它将表情符号切成两半。

angular.module('Joe.filters').filter("initials", function() {
return function(string) {
if (string) {
var words = string.split(" ");
if (words.length) {
string = words[0].charAt(0);
if (words[1]) {
string += words[1].charAt(0);
}
}
}

return string;
};
});

现在,我在想是否可以用 toArray 解决这个问题,如果可以,怎么解决?注意:如果我在控制台中运行“修复”数组。

j = '📌';
"📌"

j.length
2

s = _.toArray(j)
["📌"]

s.length
1

提前致谢!!

最佳答案

在 ES6 中,.charAt[indexing] 仍然适用于 16 位单元,但 String.iterator 可以识别 32 位单元位字符。因此,要提取可能超出平面 0 的第一个字符,您必须强制对字符串进行迭代,例如:

word = '📌HELLO';

let b = [...word][0]
// or
let [c] = word

console.log(b, c)

另一个选项是提取第一个代码点并将其转换回字符:

let a = String.fromCodePoint(word.codePointAt(0))

为了回答额外的问题,我的“标准轨道”中有这个相当琐碎的功能

let first = ([a]) => a

使用此函数,您的首字母缩写逻辑可以写为

let initials = str => str.split(' ').slice(0, 2).map(first).join('')

关于Javascript toArray 避免剪切字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48989005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com