zoukankan      html  css  js  c++  java
  • 数组映射到对象

    <!DOCTYPE html>
    <head>
    	<meta charset="utf-8"/>
    </head>
    <p>
    	你有一个 user 对象数组,每个对象都有 name,surname 和 id。
    	
    	编写代码以该数组为基础,创建另一个具有 id 和 fullName 的对象数组,其中 fullName 由 name 和 surname 生成。
    	
    	例如:
    	
    	let john = { name: "John", surname: "Smith", id: 1 };
    	let pete = { name: "Pete", surname: "Hunt", id: 2 };
    	let mary = { name: "Mary", surname: "Key", id: 3 };
    	
    	let users = [ john, pete, mary ];
    	
    	let usersMapped = /* ... your code ... */
    	
    	/*
    	usersMapped = [
    	  { fullName: "John Smith", id: 1 },
    	  { fullName: "Pete Hunt", id: 2 },
    	  { fullName: "Mary Key", id: 3 }
    	]
    	*/
    	
    	alert( usersMapped[0].id ) // 1
    	alert( usersMapped[0].fullName ) // John Smith
    	所以,实际上你需要将一个对象数组映射到另一个对象数组。在这儿尝试使用箭头函数 => 来编写。
    </p>
    
    <script type="text/javascript">
    	'use strict';
    	
    	let john = { name: "John", surname: "Smith", id: 1 };
    	let pete = { name: "Pete", surname: "Hunt", id: 2 };
    	let mary = { name: "Mary", surname: "Key", id: 3 };
    	
    	let users = [ john, pete, mary ];
    	
    	let usersMapped = users.map( user => (
    	{
    		fullName : `${user.name} ${user.surname}`,
    		id : user.id
    	}))
    	
    	/*
    	usersMapped = [
    	  { fullName: "John Smith", id: 1 },
    	  { fullName: "Pete Hunt", id: 2 },
    	  { fullName: "Mary Key", id: 3 }
    	]
    	*/
    	
    	alert( usersMapped[0].id) // 1
    	alert( usersMapped[0].fullName ) // John Smith
    	
    	
    </script>
    
    <p>
    	请注意,在箭头函数中,我们需要使用额外的括号。
    	
    	我们不能这样写:
    	
    	let usersMapped = users.map(user => {
    	  fullName: `${user.name} ${user.surname}`,
    	  id: user.id
    	});
    	我们记得,有两种箭头函数的写法:直接返回值 value => expr 和带主体的 value => {...}。
    	
    	JavaScript 在这里会把 { 视为函数体的开始,而不是对象的开始解决方法是将它们包装在普通括号 () 中:
    	
    	let usersMapped = users.map(user => ({
    	  fullName: `${user.name} ${user.surname}`,
    	  id: user.id
    	}));
    	这样就可以了。
    </p>
    

      

  • 相关阅读:
    扩展Image组件,属性不显示
    unity ugui如何用scrollview展示多个不同的3d物体
    Unity 给模型添加子物体,跟随父物体移动和旋转时不同步问题
    Unity3D性能优化
    Vs2017安装不上个问题,愁了好久
    Time.timeScale 暂停游戏
    unity.3d 打开monodevelop无法调用命名空间问题
    Unity.3D中,两个界面各自脚本中的变量如何调用
    * 笔记标题及标签整体说明+md总结
    & 文件透传整理
  • 原文地址:https://www.cnblogs.com/perfectdata/p/15496709.html
Copyright © 2011-2022 走看看