编写一个函数,删除给定对象的任何属性,这些属性的值是比给定数字和 returns 对象长的字符串
Write a function that removes any properties on the given object whose values are strings longer than the given number and returns the object
我正在编写一个函数来删除值大于给定数字的对象,但我似乎正在尝试的一切都不起作用。
function removeStringValuesLongerThan(num, obj) {
for (let prop in obj) {
if (obj[prop] > num) {
delete obj[prop];
}
return obj;
}
}
let competitorDetails = {
name: 'Montana Slim',
age: 20,
location: 'Texas'
}
removeStringValuesLongerThan(6, competitorDetails)
我的代码正在返回:
{ 姓名:'Montana Slim',年龄:20,地点:'Texas' }
任何人都可以给我一些关于我哪里出错的提示吗?我在这里查看了其他类似的问题,但他们的回答对我没有帮助。
您正在检查 obj[prop]
的值是否大于 num
。
你应该做的是检查 obj[prop]
是否是 string
以及 obj[prop].length
是否大于 num
.
基本改这部分:
if (obj[prop] > num) {
至:
if (typeof obj[prop] === 'string' && obj[prop].length > num) {
我正在编写一个函数来删除值大于给定数字的对象,但我似乎正在尝试的一切都不起作用。
function removeStringValuesLongerThan(num, obj) {
for (let prop in obj) {
if (obj[prop] > num) {
delete obj[prop];
}
return obj;
}
}
let competitorDetails = {
name: 'Montana Slim',
age: 20,
location: 'Texas'
}
removeStringValuesLongerThan(6, competitorDetails)
我的代码正在返回:
{ 姓名:'Montana Slim',年龄:20,地点:'Texas' }
任何人都可以给我一些关于我哪里出错的提示吗?我在这里查看了其他类似的问题,但他们的回答对我没有帮助。
您正在检查 obj[prop]
的值是否大于 num
。
你应该做的是检查 obj[prop]
是否是 string
以及 obj[prop].length
是否大于 num
.
基本改这部分:
if (obj[prop] > num) {
至:
if (typeof obj[prop] === 'string' && obj[prop].length > num) {