当前位置: 首页 > 知识库问答 >
问题:

javascript - js 如果删除数组某个元素的右侧所有元素?

袁元明
2023-04-27
let data = [
    { text: "根目录", id: 9521 },
    { text: "子目录一", id: 880 },
    { text: "子目录二", id: 196320 },
]

传入:{ text: "子目录一", id: 880 }
期望输出:

[
    { text: "根目录", id: 9521 },
    { text: "子目录一", id: 880 },
]

传入:{ text: "根目录", id: 9521 }
期望输出:

[
    { text: "根目录", id: 9521 }
]

共有4个答案

劳星晖
2023-04-27
function fn (data, divide) {
    return data.slice(0, data.findIndex(item => item.id === divide.id))
}
fn(data, { text: "根目录", id: 9521 })
葛航
2023-04-27
const data = [
  { text: '根目录', id: 9521 },
  { text: '子目录一', id: 880 },
  { text: '子目录二', id: 196320 }
];

const newArr = demo(data, { text: "子目录一", id: 880 })
// => [{"text":"根目录","id":9521},{"text":"子目录一","id":880}]
console.log("newArr", JSON.stringify(newArr))

function demo (list, target) {
  const index = list.findIndex(function (item) {
    return item.text === target.text && item.id === target.id
  })
  return list.slice(0, index + 1)
}
艾和通
2023-04-27
  let data = [
    { text: "根目录", id: 9521 },
    { text: "子目录一", id: 880 },
    { text: "子目录二", id: 196320 },
  ]
  function del (obj) {
    for (let i = 0; i < data.length; i++) {
      if (data[i].text == obj.text) return i
    }
    return -1
  }

  let index = del({ text: "子目录一", id: 880 })
  if (index != -1) {
    data = data.slice(0, index + 1)
  }
  console.log(data);

image.png

曹德明
2023-04-27
const data = [{ text: "根目录", id: 9521 },
{ text: "子目录一", id: 880 },
{ text: "子目录二", id: 196320 }];
const target = {id: 880};
const index = data.findIndex(t => t.id === target.id);
const result = data.slice(0, index < 0 ? data.length : index + 1);
 类似资料:
  • 本文向大家介绍Javascript删除数组里的某个元素,包括了Javascript删除数组里的某个元素的使用技巧和注意事项,需要的朋友参考一下 删除数组中的某个元素,首先需要确定需要删除元素的索引值。 找到相对应的索引值后,根据索引值删除数组中该元素对应的值 验证下,是否成功 需要将封装为数组原始的方法,以便以后需要使用 当然根据数组的splice()方法:向/从数组中添加/删除项目,然后返回被删

  • 如上图片, 每个方块都有一个宽,高,X轴,Y轴; 有可能宽占多份, 高占多份; 但宽度最大就占3份, 高度不限; 每次删除一个格子, 下面的格子自动往左往上补齐; 给到数据假如是: 删除id为5的格子后,希望得到的是:

  • 假设我有这样的html: 我只想获得之前的 。有没有办法用JSOUP做到这一点呢?我知道我可以把所有的宠物都弄成这样: 但这也包括额外的宠物。我想知道我是只能选择上面的宠物还是只是删除下面的宠物然后使用那个代码?

  • 本文向大家介绍浅谈js数组splice删除某个元素爬坑,包括了浅谈js数组splice删除某个元素爬坑的使用技巧和注意事项,需要的朋友参考一下 先来看下几个概念: 本次就拿删除举例,本身我们想删除数组中的某个指定元素,我们需要知道它所在数组中的下标,我们可以用 数组.indexOf获取它所在的下标,然后拿splice删除这个元素。 本身是没问题 代码如下: 但是。。。。。问题就来了。 如果放到fo

  • https://www.geeksforgeeks.org/count-of-larger-elements-on-right-side-of-each-element-in-an-array/#:~: text=朴素的做法:最简单的做法,一边然后打印出来。 我试图以大于左边数字的顺序计算数字,就像上面网站上描述的那样,但网站中的输出是arraylist,但我只想要一个数字,它是arraylist

  • 返回从右开始删除 n 个元素的新数组。 检查 n 是否小于给定数组的长度,并且使用 Array.slice() 来从右开始删除指定数量的元素。 const dropRight = (arr, n = 1) => arr.slice(0, -n); dropRight([1, 2, 3]); // [1,2] dropRight([1, 2, 3], 2); // [1] dropRight([1