จะลบองค์ประกอบแรกและสุดท้ายในอาร์เรย์ได้อย่างไร?
ตัวอย่างเช่น:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
อาร์เรย์เอาต์พุตที่คาดหวัง:
["Orange", "Apple"]
จะลบองค์ประกอบแรกและสุดท้ายในอาร์เรย์ได้อย่างไร?
ตัวอย่างเช่น:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
อาร์เรย์เอาต์พุตที่คาดหวัง:
["Orange", "Apple"]
คำตอบ:
fruits.shift(); // Removes the first element from an array and returns only that element.
fruits.pop(); // Removes the last element from an array and returns only that element.
myArray.effect( "transfer", { item: 'first&&last', to: bin});
return fruits.shift()
มันจะส่งคืนเฉพาะองค์ประกอบแรกนั้นจากนั้นจึงลบออกจากอาร์เรย์
สร้างสำเนาลึก 1 ระดับ
fruits.slice(1, -1)
ปล่อยอาร์เรย์เดิม
ขอบคุณ @Tim ที่ชี้ให้เห็นข้อผิดพลาดในการสะกดคำ
slice()
splice()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newFruits = fruits.slice(1, -1);
console.log(newFruits); // ["Orange", "Apple"];
ในที่นี้ -1 หมายถึงองค์ประกอบสุดท้ายในอาร์เรย์และ 1 หมายถึงองค์ประกอบที่สอง
fruits = fruits.slice(1,-1);
ถ้าไม่ต้องสร้างตัวแปรใหม่
ฉันใช้วิธีประกบ
fruits.splice(0, 1); // Removes first array element
var lastElementIndex = fruits.length-1; // Gets last element index
fruits.splice(lastElementIndex, 1); // Removes last array element
หากต้องการลบองค์ประกอบสุดท้ายคุณสามารถทำได้ด้วยวิธีนี้:
fruits.splice(-1, 1);
ดูลบรายการสุดท้ายจากอาร์เรย์เพื่อดูความคิดเห็นเพิ่มเติมเกี่ยวกับรายการนี้
push()
เพิ่มองค์ประกอบใหม่ที่ส่วนท้ายของอาร์เรย์
pop()
ลบองค์ประกอบออกจากส่วนท้ายของอาร์เรย์
unshift()
เพิ่มองค์ประกอบใหม่ที่จุดเริ่มต้นของอาร์เรย์
shift()
ลบองค์ประกอบจากจุดเริ่มต้นของอาร์เรย์
ในการลบองค์ประกอบแรกออกจากอาร์เรย์arr
ให้ใช้arr.shift()
เพื่อลบองค์ประกอบสุดท้ายออกจากอาร์เรย์arr
ให้ใช้arr.pop()
คุณสามารถใช้Array.prototype.reduce ()
รหัส:
const fruits = ['Banana', 'Orange', 'Apple', 'Mango'],
result = fruits.reduce((a, c, i, array) => 0 === i || array.length - 1 === i ? a : [...a, c], []);
console.log(result);
ในการลบองค์ประกอบออกจากอาร์เรย์ทำได้ง่ายเพียงทำดังต่อไปนี้
let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')
สามารถทำได้ด้วย lodash _.tail
และ_.dropRight
:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(_.dropRight(_.tail(fruits)));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
var resident_array = ["RC_FRONT", "RC_BACK", "RC_BACK"];
var remove_item = "RC_FRONT";
resident_array = $.grep(resident_array, function(value) {
return value != remove_item;
});
resident_array = ["RC_BACK", "RC_BACK"];
สมมติว่าคุณมีอาร์เรย์ชื่อรายการ ฟังก์ชันSplice ()สามารถใช้สำหรับทั้งการเพิ่มและลบรายการในอาร์เรย์นั้นในดัชนีเฉพาะเช่นที่สามารถอยู่ในจุดเริ่มต้นหรือท้ายที่สุดหรือที่ดัชนีใดก็ได้ ในทางตรงกันข้ามมีชื่อฟังก์ชั่นอื่นshift ()และpop ()ซึ่งสามารถลบได้เฉพาะรายการแรกและรายการสุดท้ายในอาร์เรย์
นี่คือฟังก์ชัน Shift ซึ่งสามารถลบองค์ประกอบแรกของอาร์เรย์ได้เท่านั้น
var item = [ 1,1,2,3,5,8,13,21,34 ]; // say you have this number series
item.shift(); // [ 1,2,3,5,8,13,21,34 ];
Pop Function จะลบรายการออกจากอาร์เรย์ที่ดัชนีสุดท้าย
item.pop(); // [ 1,2,3,5,8,13,21 ];
ตอนนี้มีฟังก์ชั่นประกบซึ่งคุณสามารถลบรายการที่ดัชนีใดก็ได้
item.slice(0,1); // [ 2,3,5,8,13,21 ] removes the first object
item.slice(item.length-1,1); // [ 2,3,5,8,13 ] removes the last object
ฟังก์ชั่นชิ้นรับสองพารามิเตอร์ ( ดัชนีจะเริ่มต้นด้วย , จำนวนของขั้นตอนที่จะไป );
คุณใช้วิธี Fruits.shift () เพื่อลบองค์ประกอบแรก Fruits.pop () วิธีที่ใช้สำหรับองค์ประกอบสุดท้ายลบทีละรายการหากคุณใช้การคลิกปุ่ม Fruits.slice (ตำแหน่งเริ่มต้นลบองค์ประกอบ) คุณยังใช้วิธี slice เพื่อลบองค์ประกอบในการเริ่มต้นกลาง
ในการลบองค์ประกอบแรกและครั้งสุดท้ายของอาร์เรย์คือการใช้ในตัววิธีการเช่นอาร์เรย์shift()
และได้รับองค์ประกอบแรกของอาร์เรย์เป็น "กล้วย" ในขณะที่ได้รับองค์ประกอบสุดท้ายของอาร์เรย์เป็น "มะม่วง" ดังนั้นองค์ประกอบที่เหลือของอาร์เรย์จะเป็นpop()
fruits.shift()
fruits.pop()
["Orange", "Apple"]