Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan kaedah tatasusunan dalam kemahiran javascript_javascript

Ringkasan kaedah tatasusunan dalam kemahiran javascript_javascript

WBOY
WBOYasal
2016-05-16 15:51:061062semak imbas

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.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn