我已经看过lodash文档,但是我不知道我需要使用什么函数来解决我的问题。我有数组
const arr = [
{name: 'john'},
{name: 'jane'},
{name: 'saske'},
{name: 'jake'},
{name: 'baki'}
]
我想在saske之前添加{name: 'ace'}
。我知道javascript中的拼接,但是我想知道lodash是否可行。
答案 0 :(得分:1)
当前lodash尚不具备此功能。您可以使用此备用
arr.splice(index, 0, item);
const arr = [{
name: 'john'
},
{
name: 'jane'
},
{
name: 'saske'
},
{
name: 'jake'
},
{
name: 'baki'
}
];
arr.splice(2, 0, {
name: 'ace'
});
console.log(arr);
答案 1 :(得分:1)
您可以尝试以下操作:
const arr = [{
name: 'john'
},
{
name: 'jane'
},
{
name: 'saske'
},
{
name: 'jake'
},
{
name: 'baki'
}
]
const insert = (arr, index, newItem) => [
...arr.slice(0, index),
newItem,
...arr.slice(index)
];
const newArr = insert(arr, 2, {
name: 'ace'
});
console.log(newArr);
答案 2 :(得分:1)
lodash中不支持此类功能:see issue。
如果您仍然希望使用lodash完成该操作,则可以按照这种方式进行操作。
fields = [{name: 'john'},
{name: 'jane'},
{name: 'saske'},
{name: 'jake'},
{name: 'baki'}
];
_.insert = function (arr, index, item) {
arr.splice(index, 0, item);
};
_.insert(fields,2,{'name':'ace'});
console.log(fields);