尝试创建一个使用过滤器而不是for或while循环或foreach函数的函数,它将遍历一个对象数组,只返回它们的属性值.例如,
function getShortMessages(messages) {
return messages.filter(function(obj){
return obj.message
});
}
Run Code Online (Sandbox Code Playgroud)
所以,如果我打电话
getShortMessages([{message:"bleh"},{message:"blah"}]);
Run Code Online (Sandbox Code Playgroud)
我应该返回一个数组= ["bleh","blah"]我只是不确定如何在这些指导下实现过滤器.我也在考虑使用链式函数.map.
////这是整个代码挑战规范/////
基础:过滤练习4 of 18
使用Array#filter编写一个名为getShortMessages的函数.
getShortMessages获取具有".message"属性的对象数组,并返回长度小于<50个字符的消息数组.
该函数应该返回一个包含消息本身的数组,而不包含它们包含的对象.
消息:一个包含10到100个随机对象的数组,如下所示:
{message:'Esse id amet quis eu esse aute officia ipsum.' //随机}
{
message: 'Esse id amet quis eu esse aute officia ipsum.' // random
}
Run Code Online (Sandbox Code Playgroud)
[ 'Tempor quis esse consequat sunt ea eiusmod.',
'Id culpa ad proident ad nulla laborum incididunt.',
'Ullamco in ea et ad anim …Run Code Online (Sandbox Code Playgroud) 今天我进行了一次讨论,我的一些同事说他们像这样注入 Angular 服务:
constructor(readonly language: I18nService)
Run Code Online (Sandbox Code Playgroud)
他们说他们这样做是因为它可以防止我的组件的使用者更改注入的服务,有点像这样:
@Component({ ... })
class ComponentA {
constructor(public language: I18nService) {}
}
@Component({ ... })
class ComponentB {
@ViewChild(ComponentA) compA: ComponentA;
constructor() {
this.compA.language = new I18nService();
}
}
Run Code Online (Sandbox Code Playgroud)
因此,虽然从技术上讲他们是对的,但我仍然不相信我应该这样做。我问自己以下问题:
DI 是 Angular 的基本组成部分。如果有人真的这么做了,这个人是应该更好地进入这个坑并失败,还是他/她根本做不到?
readonly在这种情况下,对于刚开始学习 Angular 和 TypeScript 的人来说,理解起来可能相当复杂,原因有几个
readonly工作的,并且它只是保护我注入的服务的引用,但没有任何属性在我看来,这是一个极端情况问题,尽管有一个简单的解决方案
你怎么认为?有没有我可能没见过的官方参考资料?readonly当我尝试在 Angular 概念中使用 google 时,我没有找到任何内容
最后一句话:虽然它是 100% 真实的 - 可以操纵参考public service: Service- 我仍然不确定这个问题是否应该得到解决,并且纠结是否要这样做。
我正在尝试使用注入令牌 web3.ts 设置我的 web3 提供程序,该令牌由 app.component.ts 导入并用于 async ngOnInit() 中。
我已经尝试过了: https://medium.com/coinmonks/https-medium-com-alexanddanik-ethereum-dapp-with-angular-angular-material-and-ngrx-f2c91435871b 它向我显示了同样的错误。我也尝试过: https: //www.udemy.com/course/blockchain-ninja-develop-ethereum-dapp-with-angular/ 当然,它向我显示了同样的错误。
web3.ts:
import { InjectionToken } from '@angular/core';
import Web3 from 'web3';
export const WEB3 = new InjectionToken<Web3>('web3', {
providedIn: 'root',
factory: () => {
try {
const provider = ('ethereum' in window) ? window['ethereum'] : Web3.givenProvider;
return new Web3(provider);
} catch (err) {
throw new Error('Non-Ethereum browser detected. You should consider trying Mist or MetaMask!');
}
}
});
Run Code Online (Sandbox Code Playgroud)
应用程序组件.ts:
import { WEB3 } from …Run Code Online (Sandbox Code Playgroud) 我正在尝试将用户信息插入数据库。我可以添加信息,我面临的唯一问题是,无论我在表单中提供什么 10 位数字mob_number,pmob_number都将像2147483647在数据库服务器中一样获取存储。我知道这是非常基本的,我才刚刚开始。提前致谢 :-)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$conn = mysqli_connect($servername, $username, $password) or die("unable to connect to host");
$sql = mysqli_select_db($conn, 'vcet') or die("unable to connect to database");
//code to insert into db...
$user_name = $_POST['user_name'];
$roll_number = $_POST['roll_number'];
$user_batch = $_POST['user_batch'];
$user_from = $_POST['user_from'];
$user_year = $_POST['user_year'];
$user_level = $_POST['user_level'];
$email_id = $_POST['email_id'];
$F_name = $_POST['F_name'];
$m_name = $_POST['m_name'];
$g_name = $_POST['g_name'];
$mob_number = $_POST['mob_number'];
$addressline1 …Run Code Online (Sandbox Code Playgroud) angular ×2
ethereum ×1
filter ×1
html ×1
javascript ×1
mysql ×1
php ×1
solidity ×1
sql ×1
typescript ×1