Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用对象方法删除阵列中的重复项_Javascript_Arrays - Fatal编程技术网

Javascript 使用对象方法删除阵列中的重复项

Javascript 使用对象方法删除阵列中的重复项,javascript,arrays,Javascript,Arrays,我很好奇你是如何通过使用对象方法做到这一点的。可能吗 功能移除副本(arr){ var结果=[]; 对于(变量i=0;i

我很好奇你是如何通过使用对象方法做到这一点的。可能吗

功能移除副本(arr){
var结果=[];
对于(变量i=0;iconsole.log(移除的副本(['Mike','Mike','Paul']);//返回[“Mike”,“Paul”]
是的,您可以使用内置的
Set()

const data=[“迈克”、“迈克”、“保罗”]
const res=数组。from(新集合(数据))

console.log(res)
是的,您可以使用内置的
Set()

const data=[“迈克”、“迈克”、“保罗”]
const res=数组。from(新集合(数据))

console.log(res)
您可以获取一个对象并仅返回键

功能移除副本(arr){
const seen={};
for(设i=0;iconsole.log(移除的副本([“Mike”、“Mike”、“Paul”);//[“迈克”、“保罗”]
你可以拿一个物体,只返回钥匙

功能移除副本(arr){
const seen={};
for(设i=0;iconsole.log(移除的副本([“Mike”、“Mike”、“Paul”);//[“Mike”,“Paul”]
如果我理解正确,您可以使用
removeDuplicates()
方法扩展
数组
对象,如下所示:

if (!Array.prototype.removeDuplicates) { // Check if the Array object already has a removeDuplicates() method
    Array.prototype.removeDuplicates = function() {
        let result = [];
        for(var i = 0; i < this.length; i++){
            if(result.indexOf(this[i]) === -1) {
                result.push(this[i]);
            }
        }
        return result;
    }
}

const arr = ["Mike", "Mike", "Paul"];
console.log(arr.removeDuplicates()); // Call the new added method
if(!Array.prototype.removeDuplicates){//检查数组对象是否已经有removeDuplicates()方法
Array.prototype.removeDuplicates=函数(){
让结果=[];
for(var i=0;i
如果我理解正确,您可以使用
removeDuplicates()
方法扩展
Array
对象,如下所示:

if (!Array.prototype.removeDuplicates) { // Check if the Array object already has a removeDuplicates() method
    Array.prototype.removeDuplicates = function() {
        let result = [];
        for(var i = 0; i < this.length; i++){
            if(result.indexOf(this[i]) === -1) {
                result.push(this[i]);
            }
        }
        return result;
    }
}

const arr = ["Mike", "Mike", "Paul"];
console.log(arr.removeDuplicates()); // Call the new added method
if(!Array.prototype.removeDuplicates){//检查数组对象是否已经有removeDuplicates()方法
Array.prototype.removeDuplicates=函数(){
让结果=[];
for(var i=0;i
功能移除副本(arr){
返回Object.keys(
arr.reduce(
(val,cur)=>({
…瓦尔,
[cur]:对
}),
{}
)
);
}
log(移除的副本(['Mike','Mike','Paul'])
功能移除副本(arr){
返回Object.keys(
arr.reduce(
(val,cur)=>({
…瓦尔,
[cur]:对
}),
{}
)
);
}

log(移除的副本(['Mike','Mike','Paul'])这是否回答了您的问题?你所说的对象方法是什么意思?你是说你想做一些像
[“A”,“B”]这样的事情。removeDupe()
?这回答了你的问题吗?你所说的对象方法是什么意思?你是说你想做一些像
[“A”,“B”]这样的事情。removeDupe()
?我能知道这样做的好处吗?或者只是回答OP Q?它很快,因为如果有O(1)来寻址对象。我可以知道这样做有什么好处吗?或者只是回答OP Q?它很快,因为if有O(1)来寻址对象。