18 lines
586 B
JavaScript
18 lines
586 B
JavaScript
'use strict';
|
|
var call = require('../internals/function-call');
|
|
var aCallable = require('../internals/a-callable');
|
|
var anObject = require('../internals/an-object');
|
|
|
|
// https://github.com/tc39/collection-methods
|
|
module.exports = function deleteAll(/* ...elements */) {
|
|
var collection = anObject(this);
|
|
var remover = aCallable(collection['delete']);
|
|
var allDeleted = true;
|
|
var wasDeleted;
|
|
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
wasDeleted = call(remover, collection, arguments[k]);
|
|
allDeleted = allDeleted && wasDeleted;
|
|
}
|
|
return !!allDeleted;
|
|
};
|