![](/img/trans.png)
[英]Remove a specific object from an object array, filtering by a key and value pair
[英]How to remove specific key and value from array object in javascript?
在這里,我在這個arrayData中有arrayData數組對象。我有多個對象,我想從該數組對象中刪除索引並鍵入鍵值。如何從此arrayData中刪除?
arrayData : [
0: {
index: 0
is_required: true
name: "vmvdnksl"
type: "LONG_TEXT"
}
1: {
index: 1
is_required: true
name: "dsvnlk"
type: "MULTIPLE_SELECTORS"
}
]
刪除索引和類型后,我想要這種類型的結果
arrayData : [
0: {
is_required: true
name: "vmvdnksl"
}
1: {
is_required: true
name: "dsvnlk"
}
]
您可以使用rest參數。 當您有很多要保留的鑰匙並只取其中幾個鑰匙時,它將非常方便。
const arrayData= [{index: 0,is_required: true,name: "vmvdnksl",type: "LONG_TEXT"},{index: 1,is_required: true,name: "dsvnlk",type: "MULTIPLE_SELECTORS"}]; const result = arrayData.map(({type,index,...rest}) => ({...rest})); console.log(result);
您可以使用delete
關鍵字從對象中刪除屬性。
var arrayData = [ 0: { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, 1: { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } ]; for (var i in arrayData) { for (var j in arrayData[i]) { if (j === 'index' || j === 'type') { delete arrayData[i][j]; } } } console.log(arrayData);
您可以使用Array.map()和destructuring
此任務:
const arrayData = [ { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } ]; let res = arrayData.map(({is_required, name}) => ({is_required, name})); console.log(res);
.as-console {background-color:black !important; color:lime;} .as-console-wrapper {max-height:100% !important; top:0;}
我更喜歡永遠不要更改原始數據,但是在您需要這樣做的情況下,您可以這樣做(或使用delete
如其他人所示):
const arrayData = [ { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } ]; let res = arrayData.forEach( ({is_required, name}, idx, arr) => arr[idx] = ({is_required, name}) ); console.log(arrayData);
.as-console {background-color:black !important; color:lime;} .as-console-wrapper {max-height:100% !important; top:0;}
嘗試使用JavaScript的delete運算符 ,如以下代碼示例所示:
for(let o in arrayData){
delete arrayData[o].index;
delete arrayData[o].type
}
對於數組,您可以使用map()
函數
var arrayData = [ { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } ], mappedArrayData = arrayData.map(({is_required, name}) => { return {is_required, name}; }) console.log(mappedArrayData);
對於對象,請使用delete
運算符。
var arrayData = { 0: { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, 1: { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } }; for (let key in arrayData) { delete arrayData[key].index; delete arrayData[key].type; } console.log(arrayData);
您可以簡單地使用Array.map()
僅顯示必需的屬性:
const arrayData= [ { index: 0, is_required: true, name: "vmvdnksl", type: "LONG_TEXT" }, { index: 1, is_required: true, name: "dsvnlk", type: "MULTIPLE_SELECTORS" } ]; const result = arrayData.map(({is_required, name}) => ({is_required, name})); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.