Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我有一个对象数组,如果类型是数字,我想改变值_Javascript_Arrays_Object_Javascript Objects - Fatal编程技术网

Javascript 我有一个对象数组,如果类型是数字,我想改变值

Javascript 我有一个对象数组,如果类型是数字,我想改变值,javascript,arrays,object,javascript-objects,Javascript,Arrays,Object,Javascript Objects,到目前为止,我已经有了这一点,但当我在检查人员时,它不会将年龄键的值更改为前缀“$”。我想假设我不知道哪些值属于数字类型,所以我想做一个检查,将其更改为$23、$3、$8等 const people = [ {name: 'John', age: 23, sex: "male"}, {name: 'Andrew', age: 3, sex: "male"}, {name: 'Peter', age: 8, sex: "

到目前为止,我已经有了这一点,但当我在检查人员时,它不会将年龄键的值更改为前缀“$”。我想假设我不知道哪些值属于数字类型,所以我想做一个检查,将其更改为$23、$3、$8等

const people = [
    {name: 'John', age: 23, sex: "male"}, 
    {name: 'Andrew', age: 3, sex: "male"}, 
    {name: 'Peter', age: 8, sex: "male"}, 
    {name: 'Hanna', age: 14, sex: "male"}, 
    {name: 'Adam', age: 37, sex: "male"}];


let indVals;

people.forEach(function(arr) {
    indVals = Object.values(arr);
    console.log('Individual values: ',indVals);
    for(let val of indVals) {
        if ( typeof val === "number") {
            val = "$" + val;
        }
    }
});

因为op声明不知道财产名称。您需要使用键来获取属性,然后检查类型,然后使用键更新值

const people=[
{姓名:“约翰”,年龄:23岁,性别:“男”},
{姓名:'Andrew',年龄:3岁,性别:“男”},
{姓名:'彼得',年龄:8岁,性别:'男'},
{姓名:“汉娜”,年龄:14岁,性别:“男”},
{姓名:'亚当',年龄:37岁,性别:'男'}];
people.forEach(obj=>{
Object.keys(obj.forEach)(key=>{
if(对象类型[键]=“编号”){
obj[key]=“$”+obj[key];
}
});
});

console.log(人),因为op声明属性名称未知。您需要使用键来获取属性,然后检查类型,然后使用键更新值

const people=[
{姓名:“约翰”,年龄:23岁,性别:“男”},
{姓名:'Andrew',年龄:3岁,性别:“男”},
{姓名:'彼得',年龄:8岁,性别:'男'},
{姓名:“汉娜”,年龄:14岁,性别:“男”},
{姓名:'亚当',年龄:37岁,性别:'男'}];
people.forEach(obj=>{
Object.keys(obj.forEach)(key=>{
if(对象类型[键]=“编号”){
obj[key]=“$”+obj[key];
}
});
});

console.log(人)
您可以
映射
人员
数组,并有条件地修改对象中属性的值。请注意,使用
map
将为您提供一个新数组

const people=[
{姓名:“约翰”,年龄:23岁,性别:“男”},
{姓名:'Andrew',年龄:3岁,性别:“男”},
{姓名:'彼得',年龄:8岁,性别:'男'},
{姓名:“汉娜”,年龄:14岁,性别:“男”},
{姓名:'亚当',年龄:37岁,性别:'男'}];
const result=people.map(obj=>{
返回Object.fromEntries(Object.entries(obj.map)([k,v])=>{
返回(typeof v=='number')?[k,`${v}`]:[k,v];
}));
});

console.log(result)
您可以
映射
人员
数组,并有条件地修改对象中属性的值。请注意,使用
map
将为您提供一个新数组

const people=[
{姓名:“约翰”,年龄:23岁,性别:“男”},
{姓名:'Andrew',年龄:3岁,性别:“男”},
{姓名:'彼得',年龄:8岁,性别:'男'},
{姓名:“汉娜”,年龄:14岁,性别:“男”},
{姓名:'亚当',年龄:37岁,性别:'男'}];
const result=people.map(obj=>{
返回Object.fromEntries(Object.entries(obj.map)([k,v])=>{
返回(typeof v=='number')?[k,`${v}`]:[k,v];
}));
});
console.log(结果)
res=people.map((elem)=>{
for(让输入元素){
如果(元素类型[键]=‘编号’){
元素[键]+='$';
}
}
返回元素;
})
res=people.map((elem)=>{
for(让输入元素){
如果(元素类型[键]=‘编号’){
元素[键]+='$';
}
}
返回元素;

})
我想在它前面加上前缀,并将其更改为前面有$val
是属性值的副本。更改其内容不会修改对象中属性的值。这是问题的概括吗?或者您只想升级age属性?如果是这样,您基本上可以使用
arr.age='$'+arr.age
。如果你想要一个通用的解决方案,你可能需要键而不是值。我想假设我不知道哪个键的值是数字类型,因此我用typeofIterate检查键(
Object.keys()
for…in…
)而不是我想要预先设置的值,并将其更改为前面有$
val
是属性值的副本。更改其内容不会修改对象中属性的值。这是问题的概括吗?或者您只想升级age属性?如果是这样,您基本上可以使用
arr.age='$'+arr.age
。如果你想要一个通用的解决方案,你可能需要键而不是值。我想假设我不知道哪个键的值是数字类型,因此我用typeofIterate检查键(
Object.keys()
for…in…
)而不是值