數(shù)組的創(chuàng)建方法:
第一種創(chuàng)建方法
通過構(gòu)造函數(shù) 來創(chuàng)建數(shù)組 Array();
Array () 首字母必須大寫
通過構(gòu)造函數(shù)來創(chuàng)建數(shù)組 可以直接規(guī)定 本數(shù)組有多少元素
var arr2 = new Array(10);
第二種創(chuàng)建方法
通過創(chuàng)建 字面量
var arr5 = [];
arr5 = [1, 2, 3, 4, 5];
console.log(arr5[4]);
數(shù)組內(nèi) 可以存儲 不同類型的變量
數(shù)組的操作方法:
1.push() 尾增
向數(shù)組的末尾添加一個或多個元素于樟,并返回新的長度
是 直接 修改原數(shù)組 而不是創(chuàng)建一個新的數(shù)組
但是 被添加的數(shù)組 是作為 元素 存儲在 原數(shù)組當(dāng)中 而不是 將兩個數(shù)組 拼接起來
arr5.push(1, 23, 45, 67);
2.unshift() 首增
向數(shù)組開頭添加一個或多個元素迄本, 并返回新的長度
直接修改數(shù)組 而不是 重新創(chuàng)建一個新的數(shù)組
arr5.unshift(2222222, 2323232)
3.pop() 尾刪
刪除 并返回 數(shù)組的最后一個元素 ,會將數(shù)組長度-1
修改原數(shù)組 而不是 創(chuàng)建新數(shù)組
如果數(shù)組是個空數(shù)組 pop() 不改變原數(shù)組 并返回 undefined
arr5.pop();
4.shift() 首刪
將數(shù)組的第一個元素 刪除 并返回第一個元素的值
修改原數(shù)組 而不是 創(chuàng)建新數(shù)組
arr5.shift();
5.splice() 添加 刪除 (截取數(shù)組的方法)
向數(shù)組中添加一個元素
或 從數(shù)組中添加刪除一個元素 返回被刪除的元素
arr5.splice(index,howMany,item);
index 規(guī)定 被添加 或刪除元素的位置 必須
howMany 規(guī)定 被刪除的元素的數(shù)量逻悠,如果設(shè)置為0 則 不刪除元素 必須
item 可選的 item 就是你向數(shù)組里面添加的新元素 可以是多個
可以添加數(shù)組 但是被添加的數(shù)組是以元素的形式 添加進(jìn)去的
刪除和添加 可以同時進(jìn)行
arr5.splice(2,2);
arr5.splice(5, 0, 1, 34, 45);
6.concat() 連接
用來連接兩個或多個數(shù)組
該方法不會改變現(xiàn)有的數(shù)組, 只會返回一個被連接數(shù)組的副本
副本數(shù)組的拼接 是按順序拼接 接受的數(shù)組在前面 其余 往近添加的數(shù)組 按順序排到后面
被添加的數(shù)組 不是以元素的形式往里面添加的,而是直接 接到前面數(shù)組的后面
arr5.concat(1, 2, arr4);
7.join() 數(shù)組 轉(zhuǎn)換 字符串
不會改變原數(shù)組 會返回一個新的字符串 可以用變量接受一下
如果原數(shù)組里面 還有數(shù)組(二維數(shù)組) 會將里面作為元素的數(shù)組 也轉(zhuǎn)化成字符串
join() 括號內(nèi)部的參數(shù) 可寫可不寫
不寫的話 默認(rèn)以棚赔,隔開元素
寫了的話 寫什么用什么隔開
但是 二維數(shù)組的話 只會改變最外層數(shù)組的分割符 內(nèi)層數(shù)組 依舊是以 冯勉,隔開
var qqq = arr5.join("-");
8. slice() 從數(shù)組中獲取元素
返回一個新數(shù)組 不改變原數(shù)組
參數(shù)1:找位置 參數(shù)2:結(jié)束位置
字符串的 操作方法
1. length
是個 屬性 不是個 方法
返回 字符串的長度 如果字符串內(nèi)有空格 則將空格也算在內(nèi)
console.log('length屬性');
console.log(b_str.length);
2.charAt() 返回指定位置的字符
括號內(nèi)的參數(shù)寫需要返回內(nèi)容的 索引值(位置)
console.log('charAt()');
console.log(b_str.charAt(4));
3. concat() 拼接兩個 或 多個 字符串
不改變原字符串 返回一個拼接完成的字符串 的 副本
可以拼接數(shù)組 但是會把數(shù)字 強(qiáng)制變成字符串
也可以拼接數(shù)組 但是會將分隔符一塊轉(zhuǎn)換成字符串
var arr = [1,2,3,4,5,[6,7,8,9]];
var b_str = b_str.concat(arr);
console.log(b_str);
4.indexOf() 從前往后搜索
返回某個指定的字符串 值 在 字符串中 首次 出現(xiàn)的位置
如果沒有搜素到 則 返回 -1
console.log(b_str);
console.log(b_str.indexOf('0'));
5. lastIndexOf() 從后往前搜索
返回某個指定的字符串 值 在 字符串中 首次 出現(xiàn)的位置
如果沒有搜素到 則 返回 -1
console.log(b_str.length);
console.log(b_str.lastIndexOf('1'));
6.replace() 替換
在字符串中 用一些字符 替換 另一些字符
兩個參數(shù):
第一個參數(shù) => 原字符串中 需要修改的值
第二個參數(shù) => 要往字符串里面替換的值
如果有多個值被匹配上 從前往后 只替換 第一個值;
7.split() 分割
用于把一個字符串分割成字符串?dāng)?shù)組
不寫參數(shù) 會將整個字符串作為一個元素 存到數(shù)組里面 不改變原字符串 返回生成的數(shù)組
如果只寫一個空元素 則將字符串每一個值 都 作為 元素 存到數(shù)組里面 , 包括字符串 里面的 空格
如果寫了參數(shù) 則以本參數(shù)為分隔的基準(zhǔn)
如果 參數(shù)在 字符串兩端 則將 參數(shù) 轉(zhuǎn)換成 空元素,反之 將參數(shù) 轉(zhuǎn)譯成分隔符
如果是 兩個參數(shù) 第二個參數(shù)代表 生成的數(shù)組的長度
console.log(b_str.split(''));
console.log(b_str.split('',5));
8.substr() 截取
可在字符串中抽取以指定索引值開始的指定數(shù)月的字符
只有一個參數(shù)的時候 從指定地方開始 一直到結(jié)束
兩個參數(shù): 從指定位置開始 截取 指定 長度
第一個參數(shù) 開始位置
第二個參數(shù) 長度
console.log(b_str.substr(3.9));
9.substring() 截取
提取字符串中 指定開始位置 到 指定結(jié)束位置的字符
可在字符串中抽取以指定索引值開始的指定數(shù)月的字符
只有一個參數(shù)的時候 從指定地方開始 一直到結(jié)束
兩個參數(shù) 從指定位置開始 截取 位置結(jié)束
第一個參數(shù) 開始位置
第二個參數(shù) 結(jié)束位置
console.log(b_str.substring(3,12));
10.toLower Case() 用來將字符串轉(zhuǎn)為小寫
僅針對于英文字母
var str2 = '你好123AbAbAb';
console.log(str2.toLocaleLowerCase());
11.toUpper Case() 用來將字符串轉(zhuǎn)為大寫
僅針對于英文字母
var str2 = '你好123AbAbAb';
console.log(str2.toUpperCase());