Làm cách nào để xóa khóa mảng?

Prompted by dire need, and inspired by some of the existing notes, I came up with this:

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};

Apart from preserving the keys, it behaves just like the regular array_splice[] for all cases I could think of.

So for example the regular array_splice[]

$input = array['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' =>6];
print_r[array_splice[$input, -4, 3, array['foo1' => 'bar', 'foo2' => 'baz']]];
print_r[$input];

will give:

Array
[
    [c] => 3
    [d] => 4
    [e] => 5
]
Array
[
    [a] => 1
    [b] => 2
    [0] => bar
    [1] => baz
    [f] => 6
]

________số 8_______

$input = array['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' =>6];
print_r[array_splice_assoc[$input, -4, 3, array['foo1' => 'bar', 'foo2' => 'baz']]];
print_r[$input];

we get:

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};
0

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};
1

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};
2

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};
3

/* Like array_splice[], but preserves the key[s] of the replacement array. */
function array_splice_assoc[&$input, $offset, $length = 0, $replacement = array[]] {
  $tail = array_splice[$input, $offset];
  $extracted = array_splice[$tail, 0, $length];
  $input += $replacement + $tail;
  return $extracted;
};
4

Nếu bạn nghĩ rằng chỉ tồn tại một cách để xóa một mảng, có lẽ đây là bài đăng mà bạn đang cần. Ở đây tôi sẽ chỉ cho bạn tất cả các cách mà tôi biết để xóa một phần tử khỏi mảng JS

Chiều dài

Mảng theo mặc định đi kèm với độ dài thuộc tính trả về số phần tử bên trong mảng của chúng ta. May mắn thay, thuộc tính này có thể thay đổi giá trị của nó nhưng làm điều này sẽ dẫn đến việc cập nhật mảng hiện tại. Nếu bạn làm cho chiều dài lớn hơn số lượng hiện tại, mảng sẽ tăng lấp đầy khoảng trống bằng các giá trị trống

Mảng có giá trị rỗng

Chúng tôi không muốn điều đó vì vậy hãy đặt độ dài nhỏ hơn số đếm hiện tại, với điều này, độ dài mảng sẽ loại bỏ các khóa nằm ngoài giá trị mới. Đừng cố đặt giá trị âm, nhân tiện, nó sẽ báo lỗi

Sự thay đổi

Xin lỗi, lẽ ra chúng ta nên bắt đầu lại từ đầu nên hãy xem phương thức này, shift sẽ xóa chỉ mục đầu tiên của mảng của chúng ta. Phương thức shift trả về giá trị của phần tử đã bị xóa. Đơn giản vậy thôi

Nhạc pop

Phương thức pop từ mảng của chúng ta sẽ làm một việc tương tự như shift, nhưng thay vì xóa khóa đầu tiên, nó thực sự sẽ “bật” ra phần tử cuối cùng và cũng như shift, phương thức pop trả về giá trị mà anh ta vừa xóa

mối nối

Đây là một phương pháp rất linh hoạt, không chỉ hoạt động để xóa các phần tử mà còn thêm các khóa mới bên trong ngay cả giữa các phần tử khác. Nhưng chúng ta ở đây lần này để giết và không để tạo ra. Để xóa các phần tử, mối nối cần ít nhất hai tham số, chỉ mục mà chúng tôi đang tìm kiếm và số lượng khóa mà chúng tôi sẽ xóa. Cũng như pop và shift, mối nối sẽ trả về giá trị của các phần tử đã sửa đổi

Xóa toán tử

Toán tử xóa này không phải là sở thích của tôi vì luôn để trống khoảng trống của khóa đã xóa, nó sẽ không lập chỉ mục lại tất cả các mảng của chúng tôi nhưng tôi cũng có trách nhiệm cho bạn biết sự tồn tại

Gọi toán tử xóa trên một mảng khóa như ví dụ sẽ dẫn đến không gian được chọn biến mất

Thêm phương thức vào Array. nguyên mẫu

JavaScript rất linh hoạt, tôi đã thấy ở đâu đó khi họ thêm trực tiếp một phương thức mới vào Mảng. nguyên mẫu với một cái gì đó như thế này

Array.prototype.remove = function[value]{ /* .. */}

Nhưng bạn nên tránh điều này vì đó là một thói quen xấu. Cách đúng để thêm một thuộc tính tùy chỉnh mới vào Mảng gốc. nguyên mẫu đang sử dụng Object. định nghĩaProperty như thế này

Phương thức remove sẽ xóa key có giá trị bằng với tham số mà chúng ta đưa ra. Sau này, bạn sẽ có thể sử dụng like nếu đó là thuộc tính gốc cũng như pop hoặc shift

Điều quan trọng là bạn có thể tạo các phương thức của riêng mình, mỏ này chỉ là một ví dụ khiêm tốn

Ví dụ trực tiếp

Nếu bạn muốn xem tất cả các ví dụ trên đang hoạt động, hãy xem chúng sống động trong cây bút này

https. // codepen. io/adrian-legaspi/pen/PowJVdw

Phần kết luận

Quản lý dữ liệu mảng là rất quan trọng và quan trọng hơn là có nhiều cách để giải quyết vấn đề xóa này. Bây giờ đến lượt bạn triển khai cái phù hợp hơn với chương trình của bạn

Thẩm quyền giải quyết

StackOverflow → https. // stackoverflow. com/câu hỏi/948358/adding-custom-functions-into-array-prototype

Làm cách nào để xóa khóa trong mảng JavaScript?

Hàm JavaScript pop[] . Phương thức này dùng để loại bỏ các phần tử ở cuối mảng. Hàm shift[] trong JavaScript. Phương thức này được sử dụng để loại bỏ các phần tử từ đầu của một mảng. Hàm nối JavaScript []. Phương pháp này được sử dụng để xóa các phần tử khỏi chỉ mục cụ thể của một mảng.

Làm cách nào để chỉ xóa khóa khỏi mảng trong PHP?

Để xóa một khóa và giá trị tương ứng của nó khỏi một mảng kết hợp trong PHP, bạn có thể sử dụng hàm unset[] . Như tên của hàm gợi ý, bạn sử dụng hàm unset[] để bỏ đặt một biến đã cho hoặc trong trường hợp này là một khóa mảng với giá trị của nó.

Làm cách nào để xóa khóa và giá trị của khóa khỏi mảng kết hợp?

Phương pháp 1. Sử dụng hàm unset[] . Hàm unset[] được sử dụng để bỏ đặt khóa và giá trị của nó trong một mảng kết hợp. print_r[ $arr ]; . Sử dụng hàm array_diff_key[]. Hàm này được sử dụng để lấy sự khác biệt giữa một hoặc nhiều mảng.

Làm cách nào để xóa khóa khỏi mảng trong laravel?

bạn có thể xóa khóa khỏi mảng trong laravel 6, laravel 7, laravel 8 và laravel 9 bằng trình trợ giúp mảng . Nhưng nếu bạn làm việc trên laravel thì bạn có thể sử dụng hàm trợ giúp mảng. chúng ta có thể xóa nhiều khóa khỏi biến bằng cách sử dụng array_except[] của hàm xác định trước của Laravel.

Chủ Đề