フロントエンド学習ノート-JS-内蔵オブジェクト(Array/string)
9024 ワード
Arrayオブジェクト
Array配列オブジェクトを作成する2つの方法 字面量方式 new Array()
は、1つのオブジェクトが配列関数のパラメータであるか否かを検出し、1つの配列であることが要求される場合、このように判断することができる instanceof Array.isArray()HTML 5で提供される方法で、互換性の問題がある 配列要素の追加/削除 push():配列の末尾に1つ以上の要素/unshiftを追加する:配列の先頭に1つ以上の要素 を追加する pop():配列の最後の要素/shift()を削除:配列の最初の要素 を削除
配列ソート 反転配列reverse() 配列配列配列配列配列配列(バブル配列)sort()
配列を文字列に変換 toString()/join(セパレータ)
クリア配列
基本パッケージタイプ
JavaScriptでは、基本データ型の操作を容易にするために、String/Number/Booleanの3つの特別な参照タイプも用意されています.
Stringオブジェクト
String
文字列の可変
文字列オブジェクト を作成する
文字列の場所を検索 indexOf():文字列の位置を返す前から検索が見つからない場合は-1 を返す. lastIndexOf():文字列の位置を返す前から検索が見つからない場合は-1 を返す.
文字に従って位置を返す charAt()指定位置の文字 を取得する. charCodeAt()指定位置における文字のASCIIコード を取得する. str[]HTML 5,IE 8+サポートとcharAt()等価
スペル/切り取り文字列 concat('文字列1','文字列2'...)結合文字列 substr('切り取りの開始位置','いくつかの文字')切り取り文字列
文字列置換/回転配列 replace('置換文字','置換文字')置換文字最初の文字 のみが置換されます. split('セパレータ')文字を配列 に変換
の文字列「abcoefoxyozzopp」は、中のすべてのoを* に置き換えることを要求しています.
は、1つの文字列の中で最も多く出現する文字を判断し、この回数 を統計する.
Array
// 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
// Array.isArray() HTML5 ,
var arr = [];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
//
// 1. push()
var arr = [1, 2, 3];
// arr.push(4, 'pink');
console.log(arr.push(4, 'pink'));
console.log(arr);
// (1) push
// (2) push()
// (3) push ,
// (4)
// 2. unshift()
console.log(arr.unshift('red', 'purple'));
console.log(arr);
// (1) unshift
// (2) unshift()
// (3) unshift ,
// (4)
// 3. pop()
console.log(arr.pop());
console.log(arr);
// (1) pop
// (2) pop()
// (3) pop ,
// (4)
// 4. shift()
console.log(arr.shift());
console.log(arr);
// (1) shift
// (2) shift()
// (3) shift ,
// (4)
// reverse()
var arr = [1, 9, 7, 32, 93];
console.log(arr.reverse());
// ( )sort() , 。 , UTF-16
// ,
var array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1); // expected output: Array [1, 100000, 21, 30, 4]
array1.sort(function (a, b) {
// return a-b;
return b - a; //
});
console.log(array1); // [100000, 30, 21, 4, 1]
-
数组索引
-
indexOf(数组元素) 作用就是返回该l数组元素的索引号 从前面开始查找 找不到就返回 -1
-
lastIndexOf(数组元素) 作用就是返回该数组元素的索引号 从后面开始查找 找不到就返回 -1
-
-
数组去重
// ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'] 。
// 1. : , , 。
// 2. : , , , , 。
// 3. ? .indexOf( ) - 1
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
// var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'])
var demo = unique(['blue', 'green', 'blue'])
console.log(demo);
// toString(): ,
var arr=[6,8,7,6,2];
console.log(arr.toString()); // 6,8,7,6,2
// join(' '):
console.log(arr.join()); // , 6,8,7,6,2
console.log(arr.join('-')); // 6-8-7-6-2
// 1
arr = [];
// 2
arr.length = 0;
// 3
arr.splice(0, arr.length);
基本パッケージタイプ
JavaScriptでは、基本データ型の操作を容易にするために、String/Number/Booleanの3つの特別な参照タイプも用意されています.
// ?
// 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;
Stringオブジェクト
String
var str = 'abc';
str = 'hello';
// str , 'abc' ,
// , ,
// ,
var str = new String('Hello World');
//
console.log(str.length);
// str.indexOf(' ', [ ])
var str=' , ';
console.log(str.indexOf(' '));
console.log(str.indexOf(' ',10)); // 10
// "abcoefoxyozzopp" o
// : o
// indexOf -1
// indexOf , , 1,
var str = "oabcoefoxyozzopp";
var index = str.indexOf('o');
var num = 0;
while (index !== -1) {
console.log(index);
num++;
index = str.indexOf('o', index + 1);
}
console.log('o :' + num);
//
// 1. charAt(index)
var str = 'andy';
console.log(str.charAt(3));
//
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i));
}
// 2. charCodeAt(index) ASCII :
console.log(str.charCodeAt(0)); // 97
// 3. str[index] H5
console.log(str[0]); // a
//
// 1. concat(' 1',' 2'....)
var str1=' ';
var str2=' ';
console.log(str1.concat(str2));
// 2. substr(' ', ' ');
var str3= ' ';
console.log(str3.substr(4, 2)); //4 4 2
// 1. replace(' ', ' ')
var str1 = ' ';
console.log(str1.replace(' ', ' ')); //
// 2. split(' ') join
var str2 = 'red, pink, blue';
console.log(str2.split(',')); // ["red", " pink", " blue"]
var str3 = 'red&pink&blue';
console.log(str3.split('&')); // ["red", " pink", " blue"]
var str1 = 'abcoefoxyozzopp';
while (str1.indexOf('o') !== -1) {
str1 = str1.replace('o', '*');
}
console.log(str1);
// 'abcoefoxyozzopp' , 。
// : charAt()
// , , 1, +1
// ,
var str = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i); // chars
if (o[chars]) { // o[chars]
o[chars]++;
} else {
o[chars] = 1;
}
}
console.log(o);
// 2.
var max = 0;
var ch = '';
for (var k in o) {
// k
// o[k]
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log(max);
console.log(' ' + ch);