我使用Angular 6,我有一个列表,我使用Angular5-csv将它导出到CSV文件,我想删除列表的最后一列,即列表中每个数组的最后一个元素。我的清单看起来像
let traceslist = [
{
"name": "abcd",
"email": "abcd@example.com",
"decision": "yes",
"userid": "abcd"
},
{
"name": "phill";
"email": "abcd@example.com";
"decision": "yes";
"userid": "phill";
},
{
"name": "raj";
"email": "raj@example.com";
"decision": "no";
"userid": "raj";
},
{
"name": "john";
"email": "john@example.com";
"decision": "yes";
"userid": "john";
}
]
现在,我要删除元素userid,以便该列不会出现在我的csv文件中。我尝试使用拼接,但未成功。
如果你们中的任何一个都可以帮助我,那将是很棒的。
答案 0 :(得分:1)
使用.map
数组方法从数组中的每个项目中删除用户ID。
traceslist = traceslist.map(item => {
delete item.userid;
return item;
});
顺便说一句,它与角度无关,因此您的标题和标签有点误导。数组在纯JavaScript中是相同的。
答案 1 :(得分:0)
这是一个简单的JavaScript问题。另外,您需要将数据转换为字符串。 请参阅以下示例:
let traceslist = [
{
'name': 'abcd',
'email': 'abcd@example.com',
'decision': 'yes',
'userid': 'abcd'
},
{
'name': 'abcd',
'email': 'abcd@example.com',
'decision': 'yes',
'userid': 'abcd'
}
];
traceslist.forEach( item => delete item.userid );
console.log(traceslist);
答案 2 :(得分:0)
我们可以使用 .map()方法来实现
UIImagePickerControllerQualityTypeHigh
UIImagePickerControllerQualityTypeMedium
UIImagePickerControllerQualityTypeLow
UIImagePickerControllerQualityType640x480
UIImagePickerControllerQualityTypeIFrame1280x720
UIImagePickerControllerQualityTypeIFrame960x540
答案 3 :(得分:0)
首先,您的JSON格式是错误的,分号(;)是第一个,并且字符串应该用引号引起来,请在下面进行检查
let obj = [{
name: "abcd",
email: "abcd@example.com",
decision: "yes",
userid: "abcd",
},
{
name: "abcd",
email: "abcd@example.com",
decision: "yes",
userid: "abcd",
},
{
name: "raj",
email: "raj@example.com",
decision: "no",
userid: "raj",
},
{
name: "john",
email: "john@example.com",
decision: "yes",
userid: "john",
}
]
let filtered = obj.map(item => {
delete item.userid;
return item;
});
console.log(filtered);
答案 4 :(得分:0)
您不能使用Delete从数组中删除项目。这仅用于从对象中删除属性。
您应该使用splice从数组中删除元素:
deleteMsg(removeElement:string) {
const index: number = traceslist.indexOf(removeElement);
if (index !== -1) {
traceslist.splice(index, 1);
}
}