I have a problem comparing two Japanese strings [closed] - javascript

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 7 months ago.
Improve this question
Even though two Japanese strings seem identical, why don't they give correct results when compared in JavaScript?
const str1 : string="廣瀬和廣"
const str2 : string="廣瀨和廣"
if(str1 === str2){
console.log('true')
} else {
console.log('false')
}
But result is false
false
Does anyone know why please help me

They're different strings, even if they look the similar.
encodeURIComponent("廣瀬和廣") -> '%E5%BB%A3%E7%80%AC%E5%92%8C%E5%BB%A3'
encodeURIComponent("廣瀨和廣") -> '%E5%BB%A3%E7%80%A8%E5%92%8C%E5%BB%A3'
^ ^

Related

Why parseInt return 1 for 31 bit binary [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 1 year ago.
Improve this question
In C# if I do
var value = Convert.ToInt32("1000000000000000000000000000000", 2);
It will return 1073741824 but when I do the same in javascript,
parseInt(1000000000000000000000000000000,2)
It return 1 but not 1073741824
You need to pass string as first parameter
console.log(parseInt("1000000000000000000000000000000",2))
It's because in JavaScript you're lacking the quotation marks :)
parseInt("1000000000000000000000000000000",2)
works fine.

Is this is a Javascript's substring bug or am I missing something? [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 4 years ago.
Improve this question
This is a screenshot from my Chrome browser console window (running in Chromes OS 72.0.3626.97).
substring(0,1) works as expected, but (1,1) does not, whereas .charAt() consistently produces the expected result and, as shown, is not in sync with substring after the (0).
There is no character between indexes 1 and 1 in the string.

use arrow functions with two values e.g. Array.sort Javascript [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 5 years ago.
Improve this question
I know how to use an arrow function for e.g. Array.filter() method, as you only need one value: var a = array.filter(val=>{return val<=5;});
but how do you do it with more than one value like with sort? I tried this but it doesn't work:array.sort(a,b)=>{return b-a;});
You could use right parenthesis for the arguments.
array.sort((a, b) => b - a);
// ^ ^

How to include Micro symbol (µ) in Javascript regex? [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 6 years ago.
Improve this question
I need to use the following regex in my Javascript code:
/\D*(\d+)\s*([TGMkmµnp]).*/g
However, the µ symbol is causing syntax error.
How can I fix this?
The error message is:
At "value = str.replace(/(+)(TGMk"
error110: SYNTAX ERROR while lexing character "µ".
I am using TestComplete software.
My code is as simple as this:
function GetVoltageDbl(str)
{
var value = str.replace(/\D*(\d+)\s*([TGMkµmnp]).*/g, "$1");
var prefix = str.replace(/\D*(\d+)\s*([TGMkµmnp]).*/g, "$2");
Log.Message(value);
Log.Message(prefix);
}
Try replacing µ with \u03BC as follows:
/\D*(\d+)\s*([TGMkm\u03BCnp]).*/g
Please try this \µ . It's need to help

Javascript .charAt(0) gives unexpected results [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
var category = "a()";
if(category.charAt(0) == /^[a-zA-Z]+$/){
/*This part doesn't gets executed*/
/*What is the problem with the if condition?*/
}
You are comparing your character with an instance of a regular expression.
You actually want to test your character with the regular expression.
You can do that like this:
var category = "a()";
if (/^[a-zA-Z]+$/.test(category.charAt(0))) {
// Now it will get executed
}
Further reading on JavaScript regex flavor:
http://www.regular-expressions.info/javascript.html

Categories

Resources