javascript - 从 JavaScript 数组中删除特定索引
问题描述
我写了一些代码,我正在跟踪我已经成功但发现很难从数组中删除它们的索引,所以我对剩下的做同样的事情。
var v = [4, 7, 2,5, 3]
var f = []
for (let i = 1; i < v.length; i += 2){
/*(point1)this line doesn't seem to work*/
if (v[i] > v[i] - 1)
/*(point 2) Instead of console.log I want to delete every of v[i] */
console.log(v[i])
输出
7
5
删除 v[I] 时的预期输出
v = [4,2,3]
最好我想做一些类似 splice v[i] if v[i] > v[i] -1 的事情,然后像拼接元素一样返回 v。
我首先在命令行中用这种类似的逻辑测试了第 1 点,它工作了,但是......;
if ((b[1] -1) > b[0]){console.log(b[2])}
输出
3
```
解决方案
要删除数组的特定索引,您可以使用如下拼接。
var fruits = ["apple", "orange", "avocado", "banana"];
//remove one element starting from index 2
var removed = fruits.splice(2, 1);
//fruits is ["apple", "orange", "banana"]
//removed is ["avocado"]
但是,关于 if 逻辑,它将始终为真,因为您正在测试一个数字是否大于自身减去 1。如果您尝试测试当前数组位置中的值是否大于前一个位置中的值,所以你应该这样。
if (v[i] > v[i-1])
推荐阅读
- flutter - 不能将变量用作网络图像中的 URL,但直接在参数内使用 URL 可以正常工作。显示错误:URI 中未指定主机
- docker - Docker daemon.json --privileged
- ios - 如何在 JSON Swift iOS 中正确发送带有对象的数组
- html - 缩放时无法使用 display flex 滚动我的集中页面
- android - 如何在方向更改时更改 Android 应用程序中的系统背景颜色?
- javacard - 删除数据字段中带有 SSD AID 的 APDU 命令,返回 6985
- python - 从更大的语料库中创建一个 dict
- c - 将内存从先前确定的字符串长度动态分配到结构数组中
- html - 块移出
- javascript - 计数器仅适用于 jQuery 游戏的第一次点击