我想要一個數組('selectedWorkshops'),並將其中的對象移動到'registeredWorkshops'。然後,我還想從「精選工作坊」和另一個簡稱爲「工作坊」的陣列中刪除這些對象。基於For循環迭代的拼接數組
看到我在這裏codepen:http://codepen.io/trueScript/pen/wBVqNN
陣列:
var workshops = [
{
name: 'apples',
WorkshopId: '19'
},
{
name: 'oranges',
WorkshopId: '3b'
},
{
name: 'pears',
WorkshopId: 'x6'
},
{
name: 'pineapples',
WorkshopId: '55'
},
{
name: 'watermelons',
WorkshopId: '8v'
}
];
var selectedWorkshops = [
{
name: 'oranges',
WorkshopId: '3b'
},
{
name: 'watermelons',
WorkshopId: '8v'
},
{
name: 'pears',
WorkshopId: 'x6'
}
];
var registeredWorkshops = [];
功能是應該車間搬到 'registeredWorkshops' 和 'selectedWorkshops' 和 '作坊' 將其刪除:
flipWorkshops = function(){
var numberOfWorkshops = selectedWorkshops.length;
var X = 1;
for(var i = 0; i < numberOfWorkshops; i++){
registeredWorkshops.push(selectedWorkshops[i]);
for(var j = 0, arrayLength = workshops.length; j < arrayLength; j++) {
var selectedWorkshop = selectedWorkshops[i];
var originalWorkshop = workshops[j];
if(selectedWorkshop == originalWorkshop){
var matchingWorkshop = j;
workshops = workshops.splice(j, 1);
selectedWorkshops = selectedWorkshops.splice(i, 1);
}
}
}
};
flipWorkshops();
爲什麼不能正確拼接「工作室」和「選定的W rkshops的數組像他們應該是?我究竟做錯了什麼?
「拼接()方法增加/刪除數組項/,並返回刪除的項目(或多個)」。 http://www.w3schools.com/jsref/jsref_splice.asp所以,基本上,您將'workshop「減少爲單個對象,即已刪除的數組元素。 – bloodyKnuckles