1. 程式人生 > 其它 >js拖拽元素到另一個元素_如何從shell陣列中刪除一個元素

js拖拽元素到另一個元素_如何從shell陣列中刪除一個元素

技術標籤:js拖拽元素到另一個元素js陣列刪除指定元素js陣列刪除某個元素vue刪除陣列中的一條資料vue陣列刪除指定元素刪除json中的一個元素

6ccd50f84d6f920fdbb1e3c661367621.png點選藍字關注我們吧!根據下標刪除

從一個數組中刪除第二個元素。程式碼如下:

#!/bin/basharray1=(a b c d a b c d)unset array1[1]echo ${array1[*]}

輸出結果:

a c d a b c d
根據元素刪除

在有些情況下,我們想刪除陣列中指定元素,比如刪除上述陣列中的`b`。程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=(${array1[*]/b})#將*換成@,結果一致echo ${array1[*]}

結果如下:

a c d a c d
1 將${array1[*]/b} 換成"${array1[*]/b}"

為了更好的測試,加入一個迴圈,對移除b之後的陣列進行迴圈輸出。

程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=( "${array1[*]/b}" )echo ${array1[*]}for value in ${array1[@]} #將@換成*,結果一致do  echo $valuedone

結果如下:

a c d a c dacdacd

將上述程式碼中的for迴圈修改成for value in "${array1[@]}"

程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=( "${array1[*]/b}" )echo ${array1[*]}for value in "${array1[@]}" #將@換成*,結果一致do  echo $valuedone

結果如下:

a c d a c da c d a c d
2 將${array1[*]/b} 換成 "${array1[@]/b}"

程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=( "${array1[@]/b}" )echo ${array1[*]}for value in ${array1[@]} #將@換成*,結果一致do  echo $valuedone

結果如下:

a c d a c dacdacd

將上述程式碼中的for迴圈修改成for value in "${array1[@]}"

程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=( "${array1[@]/b}" )echo ${array1[*]}for value in "${array1[@]}"do  echo $valuedone

結果如下:

a c d a c dacdacd

將上述程式碼中的for迴圈修改成for value in "${array1[*]}"

程式碼如下:

#!/bin/basharray1=(a b c d a b c d)array1=( "${array1[@]/b}" )echo ${array1[*]}for value in "${array1[*]}"do  echo $valuedone

結果如下:

a c d a c da c d a c d

刪除包含某個字元的元素

程式碼如下:

#!/bin/basharray1=(abc bcd cdf dfg)array1=( "${array1[@]/*b*}" )echo ${array1[*]}

結果如下:

cdf dfg

這個方案和上面的方案,本質上就是擷取字串。

*和@的區別

關於兩者的區別,直接引用文件(https://www.gnu.org/software/bash/manual/html_node/Arrays.html) 會更加直接:

These subscripts differ only when the word appears within double-quotes. If the word is double-quoted, ${name[*]} expands to a single word with the value of each array member separated by the first character of the IFS variable, and ${name[@]} expands each element of name to a separate word.