首页 > 解决方案 > 哪些字符与 Array.from 分组?

问题描述

我一直在玩 JS,无法弄清楚 JS 如何决定在使用Array.from(). 例如,以下表情符号的 alength为 2,因为它由两个代码点组成,但是,Array.from()将这两个代码点视为一个,给出一个包含一个元素的数组:

const emoji = '';
console.log(Array.from(emoji)); // Output: [""]

但是,其他一些字符也有两个代码点,例如这个字符षि(也有.length2 个)。但是,Array.from不会“分组”这个字符而是产生两个元素:

const str = 'षि';
console.log(Array.from(str)); // Output: ["ष", "ि"]

我的问题是:当字符由两个代码点组成时,是什么决定了字符是被分解(如示例二)还是被视为一个元素(如示例一)?

标签: javascriptstringunicodeiterator

解决方案



推荐阅读