我试图通过获取每个键开头checkpoint并输出其值来过滤对象。目前,我只能输出键,而不是值。下面,我有一个简单的对象。我正在使用过滤器和startsWith。我该如何获取这些值?
var data = {
practicals: '0',
checkpoint01: '0',
checkpoint02: '0',
checkpoint03: '0',
checkpoint04: '0',
checkpoint05: '0',
checkpoint06: '0',
checkpoint07: '0',
checkpoint08: '0',
checkpoint09: '0',
checkpoint10: '0',
total: '0'
}
var res = Object.keys(data).filter(v => v.startsWith('checkpoint'))
console.log(res)
// This is the current output: ["checkpoint01", "checkpoint02", "checkpoint03", "checkpoint04", "checkpoint05", "checkpoint06", "checkpoint07", "checkpoint08", "checkpoint09", "checkpoint10"]
// This is the expected output I want: [ '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ]Run Code Online (Sandbox Code Playgroud)
此代码适用于 3*3 矩阵。我需要它适用于 ant m*n 矩阵。
import numpy as np
b=np.arange(1,10).reshape(3,3)
Run Code Online (Sandbox Code Playgroud)
这会检查矩阵的形状,但仅适用于 3*3 矩阵
if b.shape[0]==b.shape[1]:
for i in range(b.shape[0]):
for j in range(b.shape[1]):
if i==1:
b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
i=i+1
b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
j=j+1
b[i]=b[i]-[b[i-1]*(b[i][j]/b[i-1][j])]
print(b)
Run Code Online (Sandbox Code Playgroud) 我有一个异步函数getDataStandard(),需要在单击时执行。我需要不单击而自动完成该函数。怎么做。请帮助我,因为我刚接触离子。
async getDataStandard() {
let loading = await this.loadingCtrl.create();
await loading.present();
this.http.get('https://www.labourguide.co.za/LabourguideApi/index.php?q=mostRecentPublications').pipe(
finalize(() => loading.dismiss())
)
.subscribe(data => {
console.log("Testing ...............1");
this.data = data;
console.log(data);
console.log("Testing ..............2");
}, err => {
console.log('JS Call error: ', err);
});
}
Run Code Online (Sandbox Code Playgroud)
这是离子部分
<ion-button expand="block" (click)="getDataStandard()">getDataStandard</ion-button>
Run Code Online (Sandbox Code Playgroud) var array = [];
array[1] = {
test: true
};
console.log(array.length);Run Code Online (Sandbox Code Playgroud)
返回,2因为它仍在计算索引0,即使它是空的.无论如何要避免这种情况,所以我的长度输出会是1多少?
这是我的应用程序中的一个函数:
handleSubmit(evt) {
evt.preventDefault();
this.setState({
width: "",
height: "",
color: ""
});
console.log(this.state)
};
Run Code Online (Sandbox Code Playgroud)
在输入中,我将输入的值设置为宽度,高度和颜色。handleSubmit填写表格时会发生此功能。
但是我已经在行setState之前设置了状态console.log。因此,它将在console.log调用之前替换表单中的值。我应该得到
{width :" ", height :" ", color :" "}
Run Code Online (Sandbox Code Playgroud)
但是,相反,我得到了由输入设置的值。但是似乎setState只有在完成全部功能后才起作用,而不是在日志之前起作用。为什么?