a=new String("Hello");
a[0]==="H" //true
a[0]="J"
a[0]==="J" //false
a[0]==="H" //true
これは、文字列を char の by.split("")
と thenの配列としてしか使用できないということ.join("")
ですか?
回答:はい、Javascript strings are readonly
(別名不変) で、この質問への回答は次の場所にあります。
a=new String("Hello");
a[0]==="H" //true
a[0]="J"
a[0]==="J" //false
a[0]==="H" //true
これは、文字列を char の by.split("")
と thenの配列としてしか使用できないということ.join("")
ですか?
回答:はい、Javascript strings are readonly
(別名不変) で、この質問への回答は次の場所にあります。
そのとおりです。
もちろん、これを処理する関数を作成することもできます。
これのさまざまな例については、この SO 投稿を参照してください。
文字列を配列や文字であるかのように操作できるようにする必要がある場合は、おそらくいくつかのプロトタイプを作成します。
String.prototype.splice = function(start,length,insert) {
var a = this.slice(0, start);
var b = this.slice(start+length, this.length);
if (!insert) {insert = "";};
return new String(a + insert + b);
};
String.prototype.push = function(insert) {
var a = this
return new String(a + insert);
};
String.prototype.pop = function() {
return new String(this.slice(0,this.length-1));
};
String.prototype.concat = function() {
if (arguments.length > 0) {
var string = "";
for (var i=0; i < arguments.length; i++) {
string += arguments[i];
};
return new String(this + string);
};
};
String.prototype.sort = function(funct) {
var arr = [];
var string = "";
for (var i=0; i < this.length; i++) {
arr.push(this[i]);
};
arr.sort(funct);
for (var i=0; i < arr.length; i++) {
string += arr[i];
};
return new String(string);
};
var a = new String("hello");
var b = a.splice(1,1,"b");
var c = a.pop();
var d = a.concat(b,c);
var e = a.sort();
hello、hbllo、hell、hellohbllohell、ehllo を返します
Strings プロトタイプの .valueOf() メソッドはプリミティブ値を返さないのでしょうか? お気に入り、
基本的に、JavaScript の文字列は、プリミティブ型とオブジェクト型の 2 つの型によって区別されます。String オブジェクトは文字シーケンスです。
string のプリミティブ型を使用できます。
var x = "hello";
console.log(x);
output : "hello"
x = "j"+x.substring(1);
console.log(x);
output : "jello";
または使用
var x = new String("hello");
console.log(x.toString());
x = "j"+x.substring(1);