从数组中删除特定对象,然后在同一数组的0索引上移动此对象

发布于 2025-02-13 13:00:56 字数 610 浏览 1 评论 0原文

我有一个具有多个对象的数组。我只想通过比较标题并在同一数组上的0索引上移动该对象来删除对象。我该怎么做。请建议我解决方案。

输入阵列:

 const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]

输出数组:

const outputArr = [{id:5, title:"William",age:28},{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:6, title:"Andy",age:32}]

用标题=== William从数组中删除对象,然后移动到0索引

I have an array which has multiple objects. I just want to remove a object by using comparing the title and shift this object on 0 index at the same array. How can I do it. Please suggest me the solution.

Input Array:

 const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]

Output Array:

const outputArr = [{id:5, title:"William",age:28},{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:6, title:"Andy",age:32}]

Remove the object with title===William from array and shift into the 0 index

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏辞 2025-02-20 13:00:56

您可以简单地使用排序

const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]


const outputArray =  [...inputArr].sort((a, b) => {
  if(a.title === 'William') return -1
  if(b.title === 'William') return 1
  return a.id - b.id
})


console.log(outputArray)

you can simply use sort for that

const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]


const outputArray =  [...inputArr].sort((a, b) => {
  if(a.title === 'William') return -1
  if(b.title === 'William') return 1
  return a.id - b.id
})


console.log(outputArray)

黯然#的苍凉 2025-02-20 13:00:56
const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}];

// `findIndex` of the appropriate object
const index = inputArr.findIndex(obj => obj.title === 'William');

// `splice` out the object and then `unshift` it
// to the start of the array (Note: we don't have
// to make any changes if the index is 0)
if (index > 0) {
  inputArr.unshift(inputArr.splice(index, 1));
}

console.log(inputArr);

附加文档

const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}];

// `findIndex` of the appropriate object
const index = inputArr.findIndex(obj => obj.title === 'William');

// `splice` out the object and then `unshift` it
// to the start of the array (Note: we don't have
// to make any changes if the index is 0)
if (index > 0) {
  inputArr.unshift(inputArr.splice(index, 1));
}

console.log(inputArr);

Additional documentation

半步萧音过轻尘 2025-02-20 13:00:56
const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]
    
    const getTitle = inputArr.filter((item) => item.title === 'William')
    const getRest = inputArr.filter((item) => item.title !== 'William')
    
    
    console.log(getTitle.concat(getRest))
const inputArr = [{id:1, title:"John",age:20},{id:2, title:"smith",age:22},{id:3, title:"stokes",age:24},{id:4, title:"david",age:30},{id:5, title:"William",age:28},{id:6, title:"Andy",age:32}]
    
    const getTitle = inputArr.filter((item) => item.title === 'William')
    const getRest = inputArr.filter((item) => item.title !== 'William')
    
    
    console.log(getTitle.concat(getRest))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文