Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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_Css_Arrays - Fatal编程技术网

Javascript 将数组值移动到另一个特定数组

Javascript 将数组值移动到另一个特定数组,javascript,html,css,arrays,Javascript,Html,Css,Arrays,您好,我有下面的代码,由2个列表组成总水果和随机水果对于我当前的代码,我可以单击随机水果的值,并将该数组值发送到绿色水果数组,反之亦然。我试图完成的是使用我的水果数组键值[type]来映射随机水果数组中的值应该去哪里。有什么简单的方法可以做到这一点吗?任何帮助都将不胜感激 var red={}; var green={}; var random={}; 风险值=[]; 变量fruits1={[“fruit”]:“Apple”,[“type”]:“1”} var FROUTS2={[“水果”]:

您好,我有下面的代码,由2个列表组成
总水果和随机水果
对于我当前的代码,我可以单击
随机水果
的值,并将该数组值发送到
绿色水果数组
,反之亦然。我试图完成的是使用我的
水果数组键值[type]
来映射
随机水果
数组中的值应该去哪里。有什么简单的方法可以做到这一点吗?任何帮助都将不胜感激

var red={};
var green={};
var random={};
风险值=[];
变量fruits1={[“fruit”]:“Apple”,[“type”]:“1”}
var FROUTS2={[“水果”]:“番茄”,[“类型”]:“1”}
变量fruits3={[“fruit”]:“leme”,[“type”]:“2”}
var FROUTS4={[“水果”]:“番石榴”,[“类型”]:“2”}
水果。推(水果1、水果2、水果3、水果4);
var randomFruits=fruits.filter(x=>x.fruit).map(x=>x.fruit);
var key=“红色水果”;
红色[钥匙]=[苹果','樱桃','草莓','石榴','蓝莓'];
var key2=“绿色水果”;
绿色[key2]=“西瓜”、“榴莲”、“鳄梨”、“酸橙”、“蜜露”;
var key3=“随机果实”;
随机[key3]=随机水果;
函数重画(){
var combineString='';
$.each(红色[键]、函数(索引){
组合字符串+=(''+红色[键][索引]+'');
});
$('.combineclass').html(combineString);
$.each(绿色[key2],函数(索引){
组合字符串+=(''+绿色[key2][index]+'');
});
$('.combineclass').html(combineString);
var randomString='';
$.each(随机[key3],函数(索引){
randomString+=(''+随机[key3][index]+'');
});
$('.randomclass').html(随机字符串);
}
函数侦听器(){
$(文档).ready(函数(){
$(文档)。在(“单击”,“随机ID div”,函数()上){
data=this.innerHTML;
k1=Object.keys(random).find(k=>random[k].indexOf(data)>=0)
索引=随机[k1].indexOf(数据);
随机[k1]。拼接(索引,1);
绿色[key2]。推送(数据);
$(“.total\u count\u Green\u Fruits”).html(键2+:“+Green[key2].length);
var元素=$(this.detach();
$('#combineid').prepend(''+element.html()+'');
});
});
$('body')。在('click','div.new-green-fruit',function()上{
data2=this.innerHTML;
k2=Object.keys(绿色).find(k=>green[k].indexOf(data2)>=0)
index2=绿色[k2].indexOf(数据2);
绿色[k2]。拼接(index2,1);
随机[key3]。推送(数据2);
$(this.detach();
var element2=$(this.detach();
$('#randomid').prepend(''+element2.html()+'');
});
}
重画();
监听器()
.pilldiv{
填充:8px 15px;
文本对齐:居中;
字体大小:15px;
边界半径:25px;
颜色:黑色;
保证金:2倍;
}
.以后{
内容:“\002B”;
浮动:左;
宽度:16px;
}
.新的绿色水果:之后{
内容:“\292B”;
浮动:左;
宽度:16px;
}
雷德派尔先生{
背景颜色:粉红色;
游标:默认值;
}
格林皮尔先生{
背景色:春绿;
游标:默认值;
}
.随机药丸{
背景颜色:浅蓝色;
光标:指针;
}
.类{
字体系列:开放式SAN;
}
.中心{
显示器:flex;
证明内容:中心;
}
.包装盒{
显示器:flex;
柔性包装:包装;
证明内容:中心;
}
.顶{
边际下限:20px
}
h3{
字体大小:正常;
}
.小组{
显示:表格;
身高:100%;
宽度:60%;
背景色:白色;
边框:1px纯黑;
左边距:自动;
右边距:自动;
}
.新的绿色水果{
背景颜色:浅蓝色;
光标:指针;
}
.顶{
边缘底部:30px;
}

总果数
随机果实

您应该应用一些检查,如

if type == 1 
    prepend
else if type == 2
    append
只需更新您的函数,如下所示

    $(document).ready(function() {
    $(document).on("click", "#randomid div", function() {
        data = this.innerHTML;
        k1 = Object.keys(random).find(k => random[k].indexOf(data) >= 0)
        index = random[k1].indexOf(data);
        random[k1].splice(index, 1);
        let fromrandom = fruits.find(k => k.fruit == data);
        if(fromrandom.type == 1) {
            green[key2].push(data);
            $(".total_count_Green_Fruits").html(key2 + ': ' + green[key2].length);
            var element = $(this).detach();
            $('#combineid').prepend('<div class="new-green-fruit pilldiv class ">' + element.html() + '</div>');
        }
        else if(fromrandom.type == 2) {
            red[key].push(data);
            $(".total_count_Red_Fruits").html(key + ': ' + red[key].length);
            var element = $(this).detach();
            $('#combineid').append('<div class="new-green-fruit pilldiv class ">' + element.html() + '</div>');
        }
        console.log(JSON.stringify(red)+" "+ JSON.stringify(green)+" "+JSON.stringify(fromrandom));

    });
});
$(文档).ready(函数(){
$(文档)。在(“单击”,“随机ID div”,函数()上){
data=this.innerHTML;
k1=Object.keys(random).find(k=>random[k].indexOf(data)>=0)
索引=随机[k1].indexOf(数据);
随机[k1]。拼接(索引,1);
让fromrandom=fruits.find(k=>k.fruit==data);
if(fromrandom.type==1){
绿色[key2]。推送(数据);
$(“.total\u count\u Green\u Fruits”).html(键2+:“+Green[key2].length);
var元素=$(this.detach();
$('#combineid').prepend(''+element.html()+'');
}
else if(fromrandom.type==2){
红色[键]。推送(数据);
$(“.total\u count\u Red\u Fruits”).html(键+”:“+Red[key].length);
var元素=$(this.detach();
$('#combineid').append(''+element.html()+'');
}
log(JSON.stringify(红色)+“”+JSON.stringify(绿色)+“”+JSON.stringify(fromrandom));
});
});

如果我解释得不够好,请做一个结:获取哪些值应该放在哪里?@Onk\r我想这样做,当我点击
Apple
时,该值将根据
水果数组[“type”]:“1”
的映射放在
红色水果数组中:“2”`它将转到
绿色水果数组
您想更改该
苹果
的颜色吗?@Onk\u r不需要