Skip to content

Instantly share code, notes, and snippets.

@bradtaniguchi
Last active August 16, 2017 23:05
Show Gist options
  • Save bradtaniguchi/722e4af3a69e0fb4fb3ebfb3aa5109c7 to your computer and use it in GitHub Desktop.
Save bradtaniguchi/722e4af3a69e0fb4fb3ebfb3aa5109c7 to your computer and use it in GitHub Desktop.
Transfer items between two arrays.
const arr1 = [
{
name: 'item 1',
selected: true
},
{
name: 'item 2',
selected: true
},
{
name: 'item 3',
selected: false
},
{
name: 'item 4',
selected: true
}
];
const arr2 = [];
const arr3 = [
{
name: 'item 1',
selected: true
},
{
name: 'item 2',
selected: true
},
{
name: 'item 3',
selected: false
},
{
name: 'item 4',
selected: true
},
{
name: 'item 5',
selected: true
},
{
name: 'item 6',
selected: true
},
{
name: 'item 7',
selected: false
},
{
name: 'item 8',
selected: true
}
];
const arr4 = [];
function transfer(srcArr, desArr) {
srcArr.filter((obj) => obj.selected).forEach((sel) => {
const index = srcArr.indexOf(sel);
desArr.push(srcArr.splice(index, 1));
});
return desArr;
}
console.log('---start---');
console.log(transfer(arr3, arr4));
console.log('arr1:');
console.log(arr3);
console.log('arr2:');
console.log(arr4);
console.log('--- end ---');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment