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

Javascript 如何从一个数组中切换另一个数组中的项

Javascript 如何从一个数组中切换另一个数组中的项,javascript,arrays,angular,typescript,multidimensional-array,Javascript,Arrays,Angular,Typescript,Multidimensional Array,我有一个类似的json: "data": [{ "max": 10, "class": "selected", "type": "numbers" }] 我想使用一个循环,它将从1开始到10(我的最大值),并显示范围内的所有数字,如: <span>1</span><span>2</span>...<span>10</span> 此外,我想在单击json.cl

我有一个类似的json:

"data":
    [{
        "max": 10,
        "class": "selected",
        "type": "numbers"
    }]
我想使用一个循环,它将从1开始到10(我的最大值),并显示范围内的所有数字,如:

<span>1</span><span>2</span>...<span>10</span>

此外,我想在单击json.class属性获取的span元素时切换类。

基本上,您可以使用
数据
数组中循环并显示值。然后,您可以将每个项
(单击)
处理程序绑定到类中的一个函数,在该函数中,您可以使用纯javascript函数实现切换逻辑,例如使用检查项是否在
新数组
中,如果不在中,则使用添加它,否则,您希望使用
newarray
中删除

<span *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span> 
{{item.max}
如果还要切换类选择器,可以执行以下操作:

<span [class]="item.currentClass" *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span> 
{{item.max}
toggle()
方法中,您可以根据切换状态分配
item.currentClass=item.class
item.currentClass='


请参见,如果您现在更清楚如何做,请告诉我。

您的问题是什么?这似乎是一个要求而不是一个问题。AngularJS2?所以你的意思是AngularJS还是Angular2+,只要它是Angular2+标记为AngularJS而不是AngularJS,并从问题标题中删除“JS”。如果AngularJS从标题中删除2…你认为
gIf
是循环吗?好的,我做了编辑。嘿,太好了。是的,或多或少这就是我想要实现的。如果你想帮助的话,唯一的一件事是我想在数组中设置maxnumber,这样它只有一个对象,而不是每个单独的对象。所以如果我设置max:10,它将从1开始到10结束(类似于I=0;i@NikolaNoxiousDimitrov嘿,进展如何,你成功地实现了你想要实现的目标吗?再次感谢。我正忙于处理它。我在这方面还有两件事。第一件事,我想在第二件事上停止添加元素(选定)列表,如果长度变为3。因此,如果此列表获得3个元素,基本上可以停止添加它们(我启动了警报窗口),但您仍然可以删除元素。我尝试了类似while的操作(this.slected.length OK听起来是一项有趣的任务:),我让你去做这件事,如果你有大麻烦,只需发布一条评论,并链接到你所做的plunker,我会看一看。是的。这是plunker:我刚刚放置了要从第二个列表中删除的函数,以及当长度>3时的通知。它会发出警报,但必须保留该函数以避免添加更多元素。还有他从第二个列表中删除元素,应该从第一个名称列表元素中清除类。我知道e.preventDefault方法,但不确定。
<span *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span> 
<span [class]="item.currentClass" *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span>