当我尝试分割时:
"بحد-8635".split('-')
然后 JavaScript 给我这个结果:
[0] - بحد,
[1] - 8635
console.log("بحد-8635".split('-'))
当我尝试分割时:
"2132-سسس".split('-')
它给我不同的结果:
[0] - 2132
[1] - سسس
console.log("2132-سسس".split('-'))
这是如何发生的?如何正确实施?
当我尝试分割时:
"بحد-8635".split('-')
然后 JavaScript 给我这个结果:
[0] - بحد,
[1] - 8635
console.log("بحد-8635".split('-'))
当我尝试分割时:
"2132-سسس".split('-')
它给我不同的结果:
[0] - 2132
[1] - سسس
console.log("2132-سسس".split('-'))
这是如何发生的?如何正确实施?
这取决于您如何键入字符串(从左到右/从右到左)。在提供的问题中,“2132-سسس”是从左到右键入的,“8635-بحد”是从右到左键入的。
请检查以下代码片段。
console.log("Typed left to right:");
console.log("2132-سسس".split('-'));
console.log("8635-بحد".split('-'));
console.log("---------------");
console.log("Typed right to left as Arabians follow:");
console.log("سسس-2132".split('-'));
console.log("بحد-8635".split('-'));
dir="ltr"
或 dir="rtl"
来初始化方向。点击链接以获得更清晰的理解:https://www.w3.org/International/questions/qa-html-dir - Rameshabc123 456XYZdef
在一个从右到左的字母表中,该文本将显示为abc123 456ZYXdef
,其中从右到左的字符按从右到左的顺序显示。如果字符的顺序是(再次严格从左到右阅读)abcXYZ456 123def
,它将显示为abc123 456ZYXdef
,因为两组数字将按从右到左的顺序显示,在之前从右到左的文本左侧,即使每个组内的数字也是从左到右读取。dir
属性,然后拆分值:
function handleLTR() {
let element = document.getElementById('default').value
console.log(element.split('-'))
}
function handleRTL() {
let element = document.getElementById('rtl').value
console.log(element.split('-'))
}
<div>
<input id='default' value=''></input>
<button onClick=handleLTR()>Handle LTR</button>
</div>
<div>
<input id='rtl' dir="rtl" value=''></input>
<button onClick=handleRTL()>Handle RTL</button>
</div>
了解更多信息,请阅读RTL和LTR之间的区别。
Try this
console.log("2132-سسس".split('-').sort());
console.log("8635-بحد".split('-').sort());
console.log("سسس-2132".split('-').sort());
console.log("1-حد".split('-').sort());
为什么JavaScript字符串替换会颠倒从右到左语言的单词顺序?
- Code Maniac