如果使用打字稿映射不工作,则查找并替换数组中存在的值
find and replace the value if exists in array using typescript map not working
我有一个数组,其中包含一组没有 space 的值,所以我想找到该值并将其替换为 space
例如:
dateOfJoining --> 加入日期
就业状况 --> 就业状况
let attributes =["dateOfJoining", "employmentStatus"]
let filtered = attributes.filter((item) => {
if (item === 'dateOfJoining') {
item = 'Date Of Joining';
}
if (item === 'employmentStatus') {
item = 'Employment Status';
}
return item;
});
它总是 returning filtered =["dateOfJoining", "employmentStatus"]
但它需要 return 就像 ["Date Of Joining", "Employment Status"]
.
我已尝试使用上述方法,但未按预期 return 计算值。
他们无论如何都要解决这个问题吗?
对于此用例,您可以更好地使用 forEach
方法。
请参阅下面的示例:
let attributes =["dateOfJoining", "employmentStatus"]
attributes.forEach((item, index) => {
if (item === 'dateOfJoining') {
attributes[index] = 'Date Of Joining';
}
if (item === 'employmentStatus') {
attributes[index] = 'Employment Status';
}
console.log('-*-*', item);
});
并且甚至更好不使用任何 if else 和无限数量的句子:
let attributes =["dateOfJoining", "employmentStatus", "someOtherText", "andAnotherText"]
attributes.forEach((item, index) => {
var result = item.replace( /([A-Z])/g, " " );
attributes[index] = result.charAt(0).toUpperCase() + result.slice(1);
});
console.log(attributes);
// ["Date Of Joining", "Employment Status", "Some Other Text", "And Another Text"]
我有一个数组,其中包含一组没有 space 的值,所以我想找到该值并将其替换为 space 例如:
dateOfJoining --> 加入日期
就业状况 --> 就业状况
let attributes =["dateOfJoining", "employmentStatus"]
let filtered = attributes.filter((item) => {
if (item === 'dateOfJoining') {
item = 'Date Of Joining';
}
if (item === 'employmentStatus') {
item = 'Employment Status';
}
return item;
});
它总是 returning filtered =["dateOfJoining", "employmentStatus"]
但它需要 return 就像 ["Date Of Joining", "Employment Status"]
.
我已尝试使用上述方法,但未按预期 return 计算值。 他们无论如何都要解决这个问题吗?
对于此用例,您可以更好地使用 forEach
方法。
请参阅下面的示例:
let attributes =["dateOfJoining", "employmentStatus"]
attributes.forEach((item, index) => {
if (item === 'dateOfJoining') {
attributes[index] = 'Date Of Joining';
}
if (item === 'employmentStatus') {
attributes[index] = 'Employment Status';
}
console.log('-*-*', item);
});
并且甚至更好不使用任何 if else 和无限数量的句子:
let attributes =["dateOfJoining", "employmentStatus", "someOtherText", "andAnotherText"]
attributes.forEach((item, index) => {
var result = item.replace( /([A-Z])/g, " " );
attributes[index] = result.charAt(0).toUpperCase() + result.slice(1);
});
console.log(attributes);
// ["Date Of Joining", "Employment Status", "Some Other Text", "And Another Text"]