Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
66 views
in Technique[技术] by (71.8m points)

javascript - how to remove a specific value from a property in an object?

how can I remove a specific value from a property in an object (not the entire property)? In the code below I want to remove for example the value "larry from property "names" from object items. Thank you

const items = {
  names: ["mike", "larry"],
  cities: ["2London"]
}

const remove = (items, category, el) => {
  return Object.keys(items).filter(item => {
    return item[category] !== el
  })
}

2 using spead operator (removes entire property):
let {[category]: el, ...result} = items

remove(items, "names", "larry")
question from:https://stackoverflow.com/questions/65888196/javascript-how-to-remove-a-specific-value-from-a-property-in-an-object

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Do you want to modify in-place or return a copy? If you want a copy, you can return a spread object with the filtered category.

const items = {
  names: ['mike', 'larry'],
  cities: ['2London']
};

const remove = (items, category, el) => ({
  ...items,
  [category]: items[category].filter(e => e !== el)
});

const modified = remove(items, 'names', 'larry');

console.log(modified);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...