みかづきブログ・カスタム

基本的にはちょちょいのほいです。

iOS15.3.1に搭載されている文字列でJavaScriptのスプレッド構文に耐えうるものを抽出する 😀

f:id:kimizuka:20220219143904p:plain

iOS15.3.1に収録された全絵文字をJavaScriptの配列に収納しようしたのですが、一部スプレッド構文での分割がうまくいかない絵文字がありました。

例えば、😶‍🌫️という絵文字。

[...'😶‍🌫️']; // => ['😶', '‍', '🌫', '️']

と言う感じで、😶 と 🌫 に分かれてしまいます。

それが原因なのか、はてな記法でシンタックスハイライトを使い😶‍🌫️を表示すると、😶<200d>🌫️と表示されます。

😶<200d>🌫️

これでは安心して使用することはできません。
なので、予期せぬことが起こらないよう、スプレッド構文でうまく配列に収納できる絵文字のみを抽出したものが下記になります。

スプレッド構文で配列に収納できる絵文字リスト(iOS15.3.1)

※ Node.js v16.13.0 で確認

😀😃😄😁😆😅😂🤣🥲😊😇🙂🙃😉😌😍🥰😘😗😙😚😋😛😝😜🤪🤨🧐🤓😎🥸🤩🥳😏😒😞😔😟😕🙁😣😖😫😩🥺😢😭😤😠😡🤬🤯😳🥵🥶😶🌫😱😨😰😥😓🤗🤔🤭🤫🤥😐😑😬🙄😯😦😧😮😲🥱😴🤤😪💨😵💫🤐🥴🤢🤮🤧😷🤒🤕🤑🤠😈👿👹👺🤡💩👻💀👽👾🤖🎃😺😸😹😻😼😽🙀😿😾🤲👐🙌👏🤝👍👎👊🤛🤜🤞🤟🤘👌🤌🤏👈👉👆👇🤚🖐🖖👋🤙💪🦾🖕🙏🦶🦵🦿💄💋👄🦷👅👂🦻👃👣👁👀🫀🫁🧠🗣👤👥🫂👶👧🧒👦👩🧑👨🦱🦰👱🦳🦲🧔👵🧓👴👲👳🧕👮👷💂🕵🌾🍳🎓🎤🏫🏭💻💼🔧🔬🎨🚒🚀👰🤵👸🤴🥷🦸🦹🤶🎄🎅🧙🧝🧛🧟🧞🧜🧚👼🤰🤱🍼🙇💁🙅🙆🙋🧏🤦🤷🙎🙍💇💆🧖💅🤳💃🕺👯🕴🦽🦼🚶🦯🧎🏃🧍👫👭👬💑💏🪢🧶🧵🪡🧥🥼🦺👚👕👖🩲🩳👔👗👙🩱👘🥻🩴🥿👠👡👢👞👟🥾🧦🧤🧣🎩🧢👒🪖👑💍👝👛👜🎒🧳👓🕶🥽🌂🐶🐱🐭🐹🐰🦊🐻🐼🐨🐯🦁🐮🐷🐽🐸🐵🙈🙉🙊🐒🐔🐧🐦🐤🐣🐥🦆🦅🦉🦇🐺🐗🐴🦄🐝🪱🐛🦋🐌🐞🐜🪰🪲🪳🦟🦗🕷🕸🦂🐢🐍🦎🦖🦕🐙🦑🦐🦞🦀🐡🐠🐟🐬🐳🐋🦈🦭🐊🐅🐆🦓🦍🦧🦣🐘🦛🦏🐪🐫🦒🦘🦬🐃🐂🐄🐎🐖🐏🐑🦙🐐🦌🐕🐩🦮🐈🪶🐓🦃🦤🦚🦜🦢🦩🕊🐇🦝🦨🦡🦫🦦🦥🐁🐀🐿🦔🐾🐉🐲🌵🌲🌳🌴🪵🌱🌿🍀🎍🪴🎋🍃🍂🍁🍄🐚🪨💐🌷🌹🥀🌺🌸🌼🌻🌞🌝🌛🌜🌚🌕🌖🌗🌘🌑🌒🌓🌔🌙🌎🌍🌏🪐🌟💥🔥🌪🌈🌤🌥🌦🌧🌩🌨🌬💧💦🌊🍏🍎🍐🍊🍋🍌🍉🍇🍓🫐🍈🍒🍑🥭🍍🥥🥝🍅🍆🥑🥦🥬🥒🌶🫑🌽🥕🫒🧄🧅🥔🍠🥐🥯🍞🥖🥨🧀🥚🧈🥞🧇🥓🥩🍗🍖🦴🌭🍔🍟🍕🫓🥪🥙🧆🌮🌯🫔🥗🥘🫕🥫🍝🍜🍲🍛🍣🍱🥟🦪🍤🍙🍚🍘🍥🥠🥮🍢🍡🍧🍨🍦🥧🧁🍰🎂🍮🍭🍬🍫🍿🍩🍪🌰🥜🍯🥛🫖🍵🧃🥤🧋🍶🍺🍻🥂🍷🥃🍸🍹🧉🍾🧊🥄🍴🍽🥣🥡🥢🧂🏀🏈🥎🎾🏐🏉🥏🎱🪀🏓🏸🏒🏑🥍🏏🪃🥅🪁🏹🎣🤿🥊🥋🎽🛹🛼🛷🥌🎿🏂🪂🏋🤼🤸🤺🤾🏌🏇🧘🏄🏊🤽🚣🧗🚵🚴🏆🥇🥈🥉🏅🎖🏵🎗🎫🎟🎪🤹🎭🩰🎬🎧🎼🎹🥁🪘🎷🎺🪗🎸🪕🎻🎲🎯🎳🎮🎰🧩🚗🚕🚙🚌🚎🏎🚓🚑🚐🛻🚚🚛🚜🛴🚲🛵🏍🛺🚨🚔🚍🚘🚖🚡🚠🚟🚃🚋🚞🚝🚄🚅🚈🚂🚆🚇🚊🚉🛫🛬🛩💺🛰🛸🚁🛶🚤🛥🛳🚢🪝🚧🚦🚥🚏🗺🗿🗽🗼🏰🏯🏟🎡🎢🎠🏖🏝🏜🌋🏔🗻🏕🛖🏠🏡🏘🏚🏗🏢🏬🏣🏤🏥🏦🏨🏪🏩💒🏛🕌🕍🛕🕋🛤🛣🗾🎑🏞🌅🌄🌠🎇🎆🌇🌆🏙🌃🌌🌉🌁📱📲🖥🖨🖱🖲🕹🗜💽💾💿📀📼📷📸📹🎥📽🎞📞📟📠📺📻🎙🎚🎛🧭🕰📡🔋🔌💡🔦🕯🪔🧯🛢💸💵💴💶💷🪙💰💳💎🪜🧰🪛🔨🛠🪚🔩🪤🧱🧲🔫💣🧨🪓🔪🗡🛡🚬🪦🏺🔮📿🧿💈🔭🕳🩹🩺💊💉🩸🧬🦠🧫🧪🌡🧹🪠🧺🧻🚽🚰🚿🛁🛀🧼🪥🪒🧽🪣🧴🛎🔑🗝🚪🪑🛋🛏🛌🧸🪆🖼🪞🪟🛍🛒🎁🎈🎏🎀🪄🪅🎊🎉🎎🏮🎐🧧📩📨📧💌📥📤📦🏷🪧📪📫📬📭📮📯📜📃📄📑🧾📊📈📉🗒🗓📆📅🗑📇🗃🗳🗄📋📁📂🗂🗞📰📓📔📒📕📗📘📙📚📖🔖🧷🔗📎🖇📐📏🧮📌📍🖊🖋🖌🖍📝🔍🔎🔏🔐🔒🔓🧡💛💚💙💜🖤🤎💔💕💞💓💗💖💘💝💟🕉🔯🕎🛐🆔🉑📴📳🈶🈚🈸🈺🆚💮🉐🈴🈵🈹🈲🆎🆑🆘🛑📛🚫💯💢🚷🚯🚳🚱🔞📵🚭🔅🔆🚸🔱🔰🈯💹🌐💠🌀💤🏧🚾🛗🈳🛂🛃🛄🛅🚹🚺🚼🚻🚮🎦📶🈁🔣🔤🔡🔠🆖🆗🆙🆒🆕🆓🔟🔢🔼🔽🔀🔁🔂🔄🔃🎵🎶💲💱🗨🔚🔙🔛🔝🔜🔘🔴🟠🟡🟢🔵🟣🟤🔺🔻🔸🔹🔶🔷🔳🔲🟥🟧🟨🟩🟦🟪🟫🔈🔇🔉🔊🔔🔕📣📢💬💭🗯🃏🎴🀄🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧🏳🏴🏁🚩🎌

☺️など、

☺️

と、分割はうまくいくものの絵文字ではなくなってしまうものや、

🇯🇵など、

[...'🇯🇵']; // =>  ['🇯', '🇵']

と、絵文字じゃなくなりつつ、複数に分かれるものも省いた上で、重複を削除しています。
個人的には、国旗が全滅したのが意外な結果でした。

また、

[...'👩‍🦱'] // => ['👩', '‍', '🦱']

と、顔と髪型に分かれる絵文字が数文字存在するのですが、🦱🦰🦳🦲の髪型の絵文字は、キーボードから入力する方法がありません。

しかし、Macで文字列の検索をかけると、しっかりその髪型の絵文字がヒットします。

f:id:kimizuka:20220219145343p:plain