var list=[ {sex:"11"}, {name:"aaa"}, {name:"bbb"} ] 变成 ["aaa","bbb"]
时间: 2023-09-20 13:11:38 浏览: 33
你可以使用 JavaScript 的 `map` 函数和对象的 `name` 属性来提取出 `"name"` 值,然后将它们存储在一个新的数组中。下面是一个示例代码:
```javascript
var list = [{sex:"11"}, {name:"aaa"}, {name:"bbb"}];
var names = list.map(obj => obj.name).filter(name => name !== undefined);
console.log(names);
```
这将输出 `["aaa", "bbb"]`。在这个代码中,`map` 函数用来遍历原始数组中的每个对象,并将其 `"name"` 属性提取出来。然后,使用 `filter` 函数来去除 `undefined` 值,确保只保留包含 `"name"` 属性的元素。最后,将提取的 `"name"` 值存储在 `names` 数组中。
相关问题
var list=[ {sex:"11"}, {name:"aaa"}, {name:"bbb"} ] 变成 [name:"aaa","bbb"]
您可以使用 JavaScript 中的 `filter` 方法来实现这个目标。请参考以下代码示例:
```javascript
var list = [
{sex: "11"},
{name: "aaa"},
{name: "bbb"}
];
var filteredList = list.filter(function(item) {
return item.hasOwnProperty("name");
});
console.log(filteredList);
```
这将输出 `[ { name: 'aaa' }, { name: 'bbb' } ]`,即只包含具有 `name` 属性的对象的新数组。
var datas={"aaa":"bbb"}; var name1="aaa" var data = datas.name1;为什么不对
这是因为在JavaScript中,使用`.`操作符获取对象属性时,点后面必须是属性名,而不是变量名。所以在你的代码中,`datas.name1`实际上是获取`datas`对象中名为`name1`的属性,而因为该属性不存在,所以返回的是`undefined`。要获取`datas`对象中名为变量`name1`的属性,可以使用`[]`操作符,如下所示:
```
var datas = {"aaa": "bbb"};
var name1 = "aaa";
var data = datas[name1]; // "bbb"
```
这样就可以正确地获取`datas`对象中名为`"aaa"`的属性值了。