JavaScript——内蔵対象(String,Aray)
47281 ワード
記事の目次 Arayオブジェクト ケース 基本包装タイプ Stringオブジェクト ケース Arayオブジェクト配列オブジェクトを作成する2つの方法 字面量方式 new Aray() は、オブジェクトが配列であるかどうかを検出する. Aray.isAray()HTML 5で提供される方法には、互換性の問題があります.
関数のパラメータは、要求が行列であれば、このように判断することができます. toString()/valueOf() に戻る.
配列の一般的な方法のデモ:push()、shift()、unshift()、reverse()、sort()、splice()、indexOf() クリア配列 は、一つの文字列配列を124分割の形で出力します.例えば、「劉備𞓜張飛𞓜関羽」です.2つの方法を使用して を実現する.は、文字列配列の要素の順序を反転させる.[a]、「b」、「c」、「d」->「d」、「c」、「b」、「a」.二つの方法で実現する.ヒント:i番目とlength-i-1個を交換する 給与の行列[1500,1200,2000,2100,1800]は、2000を超える給与を から削除します.[c]、「a」、「z」、「a」、「x」、「a」の配列のそれぞれのaが現れる位置 を見つけました.編纂方法は、1つの配列の重複要素を除去する である.
基本データタイプの操作を容易にするために、JavaScriptは三つの特別な引用タイプを提供しています.String/Number/Boolean
String-->は対象文字列を文字の配列として見ても良いですが、jsには文字タイプの文字がなくて一つの文字であり、他の言語では文字は一対のシングル引用符で囲まれています.jsには文字列はシングル引用符を使ってもいいし、ダブル引用符は文字列が配列として見られますので、forループで巡回してみてもいいです.
文字列の特性:不変性ではなく、文字列の値は変更できません.
文字列の値が変化しているように見えるのは、指し示しが変わったからであり、本当の値が変わったわけではない.文字列の可変 文字列オブジェクト を作成します.文字列オブジェクトの一般的な方法文字列のすべての方法は、文字列自体を変更しません(文字列は可変ではありません)、動作が完了すると新しい文字列 を返します.文字列「私は中華人民共和国を愛しています」の中の「中華」 「abcoefoxyozzopp」は文字列の中のすべてのoが現れる位置を検索します. 文字列のすべてのoを置換します. は、一つの文字列の中で最も多く出現した文字を判断し、この回数を統計する .
// 1.
//
var arr = new Array();
// , 3
var arr = new Array('zs', 'ls', 'ww');
// , 4
var arr = new Array(1, 2, 3, 4);
// 2.
var arr = [1, 2, 3];
//
console.log(arr.length);
instanceof
関数のパラメータは、要求が行列であれば、このように判断することができます.
toString()
は、配列を文字列に変換し、カンマ区切りvalueOf()
は、配列オブジェクト自体// 1 ( )
push()
pop() // , length
// 2 ( )
push()
shift() // , length
unshift() // ,
// 3
reverse() //
sort(); // sort ,
// sort ?
// 4
concat() //
slice() // , , start 0 ,end 1
splice() // , start, deleteCount, options( )
// 5
indexOf()、lastIndexOf() // -1
// 6 ( )
every()、filter()、forEach()、map()、some()
// 7 。
join()
// 1
arr = [];
// 2
arr.length = 0;
// 3
arr.splice(0, arr.length);
ケースfunction myJoin(array, seperator) {
seperator = seperator || ',';
array = array || [];
if (array.length == 0){
return '';
}
var str = array[0];
for (var i = 1; i < array.length; i++) {
str += seperator + array[i];
}
return str;
}
var array = [6, 3, 5, 6, 7, 8, 0];
console.log(myJoin(array, '-'));
console.log(array.join('-'))
function myReverse(arr) {
if (!arr || arr.length == 0) {
return [];
}
for (var i = 0; i < arr.length / 2; i++) {
var tmp = arr[i];
arr[i] = arr[this.length - i - 1];
arr[arr.length - i - 1] = tmp;
}
return arr;
}
var array = ['a', 'b', 'c'];
console.log(myReverse(array));
console.log(array.reverse());
// 1
var array = [1500,1200,2000,2100,1800];
var tmpArray = [];
for (var i = 0; i < array.length; i++) {
if(array[i] < 2000) {
tmpArray.push(array[i]);
}
}
console.log(tmpArray);
// 2
var array = [1500, 1200, 2000, 2100, 1800];
array = array.filter(function (item, index) {
if (item < 2000) {
return true;
}
return false;
});
console.log(array);
var array = ['c', 'a', 'z', 'a', 'x', 'a'];
do {
var index = array.indexOf('a',index + 1);
if (index != -1){
console.log(index);
}
} while (index > 0);
var array = ['c', 'a', 'z', 'a', 'x', 'a'];
function clear() {
var o = {};
for (var i = 0; i < array.length; i++) {
var item = array[i];
if (o[item]) {
o[item]++;
}else{
o[item] = 1;
}
}
var tmpArray = [];
for(var key in o) {
if (o[key] == 1) {
tmpArray.push(key);
}else{
if(tmpArray.indexOf(key) == -1){
tmpArray.push(key);
}
}
}
returm tmpArray;
}
console.log(clear(array));
基本包装の種類基本データタイプの操作を容易にするために、JavaScriptは三つの特別な引用タイプを提供しています.String/Number/Boolean
// ?
// s1 ,
var s1 = 'zhangsan';
var s2 = s1.substring(5);
// s1.substring(5) , s1 String , substring , , :
var s1 = new String('zhangsan');
var s2 = s1.substring(5);
s1 = null;
//
var num = 18; // ,
var num = Number('18'); //
var num = new Number(18); // ,
// Number Boolean , 。 :
var b1 = new Boolean(false);
var b2 = b1 && true; //
StringオブジェクトString-->は対象文字列を文字の配列として見ても良いですが、jsには文字タイプの文字がなくて一つの文字であり、他の言語では文字は一対のシングル引用符で囲まれています.jsには文字列はシングル引用符を使ってもいいし、ダブル引用符は文字列が配列として見られますので、forループで巡回してみてもいいです.
文字列の特性:不変性ではなく、文字列の値は変更できません.
文字列の値が変化しているように見えるのは、指し示しが変わったからであり、本当の値が変わったわけではない.
var str = 'abc';
str = 'hello';
// str , 'abc' ,
// , ,
// ,
var str = new String('Hello World');
//
console.log(str.length);
// 1
charAt() //
charCodeAt() // ASCII
str[0] //HTML5,IE8+ charAt()
// 2
concat() // , +,+
slice() // start , end ,end
substring() // start , end ,end
substr() // start , length
// 3
indexOf() //
lastIndexOf() // ,
// 4
trim() //
// 5
to(Locale)UpperCase() //
to(Locale)LowerCase() //
// 6
search()
replace()
split()
fromCharCode()
// String.fromCharCode(101, 102, 103); // ASCII
:
.length------>
.charAt( ), , ,
.fromCharCode( , ), ASCII
.concat( 1, 2,...);
.indexOf( , ); , -1
.lastIndexOf( ); , , -1
.replace(" "," ");
.slice( , ); 5 , 10 , 10,
.split(" ", );
.substr( , );
.substring( , ), ,
.toLocaleLowerCase();
.toLowerCase();
.toLocaleUpperCase()
.toUpperCase();
.trim();
ケースvar s = " ";
s = s.substr(2,2);
console.log(s);
var s = 'abcoefoxyozzopp';
var array = [];
do {
var index = s.indexOf('o', index + 1);
if (index != -1) {
array.push(index);
}
} while (index > -1);
console.log(array);
var s = 'abcoefoxyozzopp';
do {
s = s.replace('o', '');
} while (s.indexOf('o') > -1);
console.log(s);
console.log(s.replace(/o/ig, ''));
var s = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < s.length; i++) {
var item = s.charAt(i);
if (o[item]) {
o[item] ++;
}else{
o[item] = 1;
}
}
var max = 0;
var char ;
for(var key in o) {
if (max < o[key]) {
max = o[key];
char = key;
}
}
console.log(max);
console.log(char);