Penambahan dan pemadaman elemen tatasusunan js sentiasa mengelirukan Hari ini saya akhirnya menemui maklumat terperinci Sila berikan saya kod untuk ujian dahulu^-^
var arr = new Array(); arr[0] = "aaa"; arr[1] = "bbb"; arr[2] = "ccc"; //alert(arr.length);//3 arr.pop(); //alert(arr.length);//2 //alert(arr[arr.length-1]);//bbb arr.pop(); //alert(arr[arr.length-1]);//aaa //alert(arr.length);//1 var arr2 = new Array(); //alert(arr2.length);//0 arr2[0] = "aaa"; arr2[1] = "bbb"; //alert(arr2.length);//2 arr2.pop(); //alert(arr2.length);//1 arr2 = arr2.slice(0,arr2.length-1); //alert(arr2.length);//0 arr2[0] = "aaa"; arr2[1] = "bbb"; arr2[2] = "ccc"; arr2 = arr2.slice(0,1); alert(arr2.length);//1 alert(arr2[0]);//aaa alert(arr2[1]);//undefined
shift: padamkan item pertama tatasusunan asal dan kembalikan nilai elemen yang dipadamkan, jika tatasusunan itu kosong, ia mengembalikan tidak ditentukan
var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1
nyah anjakan: Tambahkan parameter pada permulaan tatasusunan asal dan kembalikan panjang tatasusunan
var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
Nota: Nilai pulangan ujian di bawah IE6.0 sentiasa tidak ditentukan, dan nilai pulangan ujian di bawah FF2.0 ialah 7, jadi nilai pulangan kaedah ini tidak boleh dipercayai Apabila nilai pulangan diperlukan, sambatan boleh digunakan bukannya kaedah ini.
pop: Padamkan item terakhir tatasusunan asal dan kembalikan nilai elemen yang dipadamkan jika tatasusunan kosong, ia mengembalikan tidak ditentukan
var a = [1,2,3,4,5]; var b = a.pop(); //a:[1,2,3,4] b:5 //不用返回的话直接调用就可以了
tekan: Tambahkan parameter pada penghujung tatasusunan asal dan kembalikan panjang tatasusunan
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat: Mengembalikan tatasusunan baharu, yang terdiri daripada menambah parameter pada tatasusunan asal
var a = [1,2,3,4,5]; var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...): Padam deleteCount item dari kedudukan mula dan masukkan val1, val2,...
var a = [1,2,3,4,5]; var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4] var b = a.splice(0,1); //同shift a.splice(0,0,-2,-1); var b = a.length; //同unshift var b = a.splice(a.length-1,1); //同pop a.splice(a.length,0,6,7); var b = a.length; //同push
terbalik: terbalikkan tertib tatasusunan
var a = [1,2,3,4,5]; var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
isih(fungsi pesanan): Isih tatasusunan mengikut parameter yang ditentukan
var a = [1,2,3,4,5]; var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end): Mengembalikan tatasusunan baharu yang terdiri daripada item antara indeks mula yang ditentukan dan indeks akhir dalam tatasusunan asal
var a = [1,2,3,4,5]; var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator): Gabungkan elemen tatasusunan ke dalam rentetan, menggunakan pemisah sebagai pemisah Jika diabaikan, koma lalai digunakan sebagai pemisah
var a = [1,2,3,4,5]; var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
Beri saya kaedah lain untuk menggunakan tatasusunan untuk mensimulasikan javaStringBuffer untuk memproses rentetan:
/** * 字符串处理函数 */ function StringBuffer() { var arr = new Array; this.append = function(str) { arr[arr.length] = str; }; this.toString = function() { return arr.join(""); //把append进来的数组ping成一个字符串 }; }
Saya tiba-tiba mendapati bahawa join ialah cara yang baik untuk menukar tatasusunan kepada rentetan dalam aplikasi saya hari ini, jadi saya merangkumkannya ke dalam objek dan menggunakannya:
/** * 把数组转换成特定符号分割的字符串 */ function arrayToString(arr,separator) { if(!separator) separator = "";//separator为null则默认为空 return arr.join(separator); } /** * 查找数组包含的字符串 */ function arrayFindString(arr,string) { var str = arr.join(""); return str.indexOf(string); }
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.