我现在从数组中删除元素的方法是
var indexToRemove = newSections.indexOf(newSections.find((section) => section.id === parseInt(sectionId)));
newSections.splice(indexToRemove, 1);
但是,我希望能够删除我的元素。
array.remove(element)
我怎样才能完成这样的事情?
答案 0 :(得分:2)
没有API可以执行此类操作,但您可以使用(funcall f ...)
执行类似操作。
Array.filter
在上面的示例中,let words = ["spray", "limit", "elite", "exuberant", "destruction", "present", "happy"];
words = words.filter(word => word != "spray");
不会包含单词words
。
答案 1 :(得分:1)
如果您想要进行删除,可以使用var indexToRemove = newSections.reduce(
(acc,section,index) =>
(acc === null && section.id === parseInt(sectionId) ? index : acc),
null);
if (indexToRemove !== null)
newSections.splice(indexToRemove, 1);
做得更好:
find
所以你的数组只被解析一次。
否则我更希望得到$ python test.py –f import_dbs –c 1
None
None
$ python test.py -f import_dbs –c 1
import_dbs
None
$ python test.py -f import_dbs -c 1
import_dbs
1
$ echo "python test.py –f import_dbs –c 1" | od -c
0000000 p y t h o n t e s t . p y –
0000020 ** ** f i m p o r t _ d b s –
0000040 ** ** c 1 \n
0000046
$ echo "python test.py -f import_dbs -c 1" | od -c
0000000 p y t h o n t e s t . p y -
0000020 f i m p o r t _ d b s - c
0000040 1 \n
0000042
答案 2 :(得分:1)
假设以下
sections = [
{id: 1, name: 'section 1'},
{id: 2, name: 'section 2'},
{id: 3, name: 'section 3'}
]
定义简单功能
function removeSection(sections, sectionIdToRemove) {
return sections.filter(s=>s.id != parseInt(sectionIdToRemove)
}
使用
removeSection(sections, 1) // removes the second section
不建议将此.remove
方法添加到全局Array
对象。