Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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_Html_Set - Fatal编程技术网

在javascript中,添加到一个数组会导致添加到另一个数组,反之亦然

在javascript中,添加到一个数组会导致添加到另一个数组,反之亦然,javascript,html,set,Javascript,Html,Set,在这段代码中,我使用不同的函数构造函数创建了一组数组: //集合的一般用途是确保其元素是唯一的 函数SetJs(){ 集合=[]; this.has=(值)=>{ 返回集合。indexOf(值)!=-1; } this.add=(值)=>{ 如果(!this.has(value)){ 收集、推送(值); 返回`${value}添加到集合`; }否则{ 返回`${value}已经是集合`的一部分; } } this.delete=(值)=>{ 如果(这个有(值)){ collection.spl

在这段代码中,我使用不同的函数构造函数创建了一组数组:

//集合的一般用途是确保其元素是唯一的
函数SetJs(){
集合=[];
this.has=(值)=>{
返回集合。indexOf(值)!=-1;
}
this.add=(值)=>{
如果(!this.has(value)){
收集、推送(值);
返回`${value}添加到集合`;
}否则{
返回`${value}已经是集合`的一部分;
}
}
this.delete=(值)=>{
如果(这个有(值)){
collection.splice(collection.indexOf(value),1)
返回从集合“”中删除的“${value}”;
}否则{
返回`${value}在集合`中找不到;
}
}
this.set=()=>{
回收;
}
this.length=()=>{
返回集合长度;
}
}
var set1=new SetJs();
var set2=new SetJs();
让结果;
const getSetByNumber=(setNumber)=>{
如果(setNumber==1){
返回集合1;
}否则{
返回集合2;
}
}
常量addToSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.add(document.getElementById('input').value);
printSet();
}
常量deleteFromSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.delete(document.getElementById('input').value);
printSet();
}
常量打印集=()=>{
document.getElementById('result')。innerHTML=result;
document.getElementById('set1').innerHTML=JSON.stringify(set1.set());
document.getElementById('set2').innerHTML=JSON.stringify(set2.set());
}

Set在javascript中的实现

添加到集合1 从集合1中删除 添加到集合2中 从集合2中删除
第1组: 第2组:
如果不定义作用域,则将其视为全局作用域变量。您需要将
集合
定义为该函数中的作用域

//集合的一般用途是确保其元素是唯一的
函数SetJs(){
让集合=[];
this.has=(值)=>{
返回集合。indexOf(值)!=-1;
}
this.add=(值)=>{
如果(!this.has(value)){
收集、推送(值);
返回`${value}添加到集合`;
}否则{
返回`${value}已经是集合`的一部分;
}
}
this.delete=(值)=>
collection=collection.filter(item=>item!==value);
this.set=()=>集合;
this.length=()=>collection.length;
}
var set1=new SetJs();
var set2=new SetJs();
让结果;
const getSetByNumber=(setNumber)=>{
如果(setNumber==1){
返回集合1;
}否则{
返回集合2;
}
}
常量addToSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.add(document.getElementById('input').value);
printSet();
}
常量deleteFromSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.delete(document.getElementById('input').value);
printSet();
}
常量打印集=()=>{
document.getElementById('result')。innerHTML=result;
document.getElementById('set1').innerHTML=JSON.stringify(set1.set());
document.getElementById('set2').innerHTML=JSON.stringify(set2.set());
}

Set在javascript中的实现

添加到集合1 从集合1中删除 添加到集合2中 从集合2中删除
第1组: 第2组:
如果不定义作用域,则将其视为全局作用域变量。您需要将
集合
定义为该函数中的作用域

//集合的一般用途是确保其元素是唯一的
函数SetJs(){
让集合=[];
this.has=(值)=>{
返回集合。indexOf(值)!=-1;
}
this.add=(值)=>{
如果(!this.has(value)){
收集、推送(值);
返回`${value}添加到集合`;
}否则{
返回`${value}已经是集合`的一部分;
}
}
this.delete=(值)=>
collection=collection.filter(item=>item!==value);
this.set=()=>集合;
this.length=()=>collection.length;
}
var set1=new SetJs();
var set2=new SetJs();
让结果;
const getSetByNumber=(setNumber)=>{
如果(setNumber==1){
返回集合1;
}否则{
返回集合2;
}
}
常量addToSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.add(document.getElementById('input').value);
printSet();
}
常量deleteFromSet=(setNumber)=>{
设set=getSetByNumber(setNumber);
结果=set.delete(document.getElementById('input').value);
printSet();
}
常量打印集=()=>{
document.getElementById('result')。innerHTML=result;
document.getElementById('set1').innerHTML=JSON.stringify(set1.set());
document.getElementById('set2').innerHTML=JSON.stringify(set2.set());
}

Set在javascript中的实现

添加到集合1 从集合1中删除 添加到集合2中 从集合2中删除
第1组: 第2组:
您的删除功能也不正确,我在编辑中修复了它。您的删除功能也不正确,我在编辑中修复了它。