//方法一:concat()用於連線兩個或多個陣列。該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。
let arra = [1, 2, 3];
let arrb = .concat(arra);
console.log(arra,arrb); //[1, 2, 3],[1, 2, 3]
//如果改變arra, arrb不會改變
arra.splice(0,1);
console.log(arra,arrb); //[2, 3],[1, 2, 3]
//如果改變arrb, arra不會改變
arrb[0] = 0;
console.log(arra,arrb); //[1, 2, 3],[0, 2, 3]
//方法二:先json.stringify( ) 後 json.parse( )
let arra = [1, 2, 3];
let arrb = json.parse(json.stringify(arra)); //arrb: [1, 2, 3]
//如果 arrb.pop(); //arrb:[1,2], arra:[1,2,3]
//如果 arra.shift(); //arra:[2,3], arrb:[1,2,3]
//方法三:jquery的extend方法
let a = [1,2,3];
let b = $.extend(true,,a)
b[0]++ //b:[2,2,3] a:[1,2,3]
方法四:object.assign()方法 或者 [...arr]
let a = [1,2,3];
let b = object.assign(,a) //或者 let b = [...a]
b[0]++ //b:[2,2,3] a:[1,2,3]
//但是需要注意的是,如果是物件陣列,即使是用方法一的concat、方法四的object.assign()或者[...arr]賦值也是會互相影響的:
let a=
let b = object.assign(,a) //或者 let b = [...a] 或者 let b = .concat(a)
b[0].age=25; //b: a:
//此時用方法二的先json.stringify( ) 後 json.parse( )
利用兩個棧,反轉其中乙個棧的元素
有兩個相同的棧,乙個裡面放著自大到小排列的數,棧頂的數最小,另乙個棧是空的。不允許利用其它的資料結構,只能利用這兩個棧,要求把第乙個棧裡的數字反過來,從小到大排列,結果還放在原來的那個棧裡面。思路 假設stacka存放數,stackb為輔助棧。stacka元素個數為n。第1次操作 先取stacka棧...
隨機顯示陣列的其中乙個 演算法丨陣列
記憶體的工作原理 鍊錶存在類似的問題。在需要讀取鍊錶的最後乙個元素時,不能直接讀取,因為不知道它的位址,必須先訪問元素 1,從中獲取元素 2,依次類推。需要讀取所有元素時,鍊錶的效率很高 如果需要跳躍,鍊錶的效率是很低的。陣列與此不同 假設有乙個陣列,它包含五個元素,起始位址為00,那麼元素 5的位...
多表關聯刪除和修改其中乙個表
update from 語法是早就知道的,今天把delete琢磨出來了 記錄以備忘 delete a from t sms send a,t sms diaocha send b where b.dcid 10 and a.dxnrid b.dxnrid and a.fssj b.fssj upda...