gpt4 book ai didi

arrays - 如何将一个值添加到数组的中间?

转载 作者:行者123 更新时间:2023-12-04 02:15:25 25 4
gpt4 key购买 nike

你好,我有以下数组:

array=(1 2 3 4 5 7 8 9 12 13)

我执行这个 for 循环:

    for w in ${!array[@]}
do
comp=$(echo "${array[w+1]} - ${array[w]} " | bc)
if [ $comp = 1 ]; then
/*???*/
else
/*???*/
fi
done

我想做的是当两个连续元素之间的差值不等于1时插入一个值

我该怎么做?

非常感谢。

最佳答案

只需创建一个从最小值到最大值的循环并填补空白:

array=(1 2 3 4 5 7 8 9 12 13)
min=${array[0]}
max=${array[-1]}

new_array=()
for ((i=min; i<=max; i++)); do
if [[ " ${array[@]} " =~ " $i " ]]; then
new_array+=($i)
else
new_array+=(0)
fi
done

echo "${new_array[@]}"

这将创建一个新数组 $new_array,其值为:

1 2 3 4 5 0 7 8 9 0 0 12 13

这使用了 Check if an array contains a value 中的技巧.

关于arrays - 如何将一个值添加到数组的中间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34414376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com