加入一个对象的元素并排除一些
Join elements of an object and exclude some
我有一个 Typescript 项目,我想在其中加入一个对象的所有值,一个除外。
这是我的对象:
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page":3
};
我就是这样做的:
let dataJoin = Object.values(dataInit).join(',')
这是我得到的:
CAPR,RMA,VE,3
我需要知道如何删除 'page' 属性,这就是我想要的:
CAPR,RMA,VE
我会先解构对象,再创建一个新对象
const { host, ua, country } = dataInit
const dataNew = { host, ua, country }
然后在新对象上调用值连接方法。
如果不知道其他属性,可以先用Object.entries()
to give you an array of arrays containing the keys and values. That array can then be filtered to remove the "page" element, mapped只包含值,最后加入。
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page":3
};
console.log(
Object.entries(dataInit)
.filter(([key,val]) => key !== "page")
.map(([_,val]) => val)
.join(",")
)
您可以过滤结果数组:
let dataJoin = Object.values(dataInit).filter(element => typeof element === "string").join(",");
或者您可以使用其他评论中介绍的解构。
您可以使用 for...in
循环遍历元素并跳过 page
属性.
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page": 3
};
const convertObject = (obj) => {
let list = [];
for (const prop in obj) {
if (prop !== "page") {
list.push(obj[prop]);
}
}
return list.join(",");
}
console.log(convertObject(dataInit));
我有一个 Typescript 项目,我想在其中加入一个对象的所有值,一个除外。
这是我的对象:
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page":3
};
我就是这样做的:
let dataJoin = Object.values(dataInit).join(',')
这是我得到的:
CAPR,RMA,VE,3
我需要知道如何删除 'page' 属性,这就是我想要的:
CAPR,RMA,VE
我会先解构对象,再创建一个新对象
const { host, ua, country } = dataInit
const dataNew = { host, ua, country }
然后在新对象上调用值连接方法。
如果不知道其他属性,可以先用Object.entries()
to give you an array of arrays containing the keys and values. That array can then be filtered to remove the "page" element, mapped只包含值,最后加入。
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page":3
};
console.log(
Object.entries(dataInit)
.filter(([key,val]) => key !== "page")
.map(([_,val]) => val)
.join(",")
)
您可以过滤结果数组:
let dataJoin = Object.values(dataInit).filter(element => typeof element === "string").join(",");
或者您可以使用其他评论中介绍的解构。
您可以使用 for...in
循环遍历元素并跳过 page
属性.
let dataInit = {
"host": "CAPR",
"ua": "RMA",
"country": "VE",
"page": 3
};
const convertObject = (obj) => {
let list = [];
for (const prop in obj) {
if (prop !== "page") {
list.push(obj[prop]);
}
}
return list.join(",");
}
console.log(convertObject(dataInit));