我知道有一个类似的问题,Javascript - 在数组的一个属性上按字母顺序对数组中的对象进行排序,但是当我使用此方法逐步运行时,它会跳过排序.
我有一个对象数组,在控制台中看起来像这样:
0:{id: "3645256536754", name: "john", description: "man", children: Array(0)}
1:{id: "8672092533958", name: "alex", description: "man", children: Array(2)}
Run Code Online (Sandbox Code Playgroud)
我必须做一个forEach,但在我必须确定它是基于name属性的字母顺序之前.
我是这样做的:
myArray.sort(function (a, b) {
var textA = a.name.toUpperCase();
var textB = b.name.toUpperCase();
return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
})
Run Code Online (Sandbox Code Playgroud)
当我一步一步地运行它时,它跳过这段代码,我不知道为什么.有什么建议?
我有这个声明:
double?[] x = 0;
Run Code Online (Sandbox Code Playgroud)
我不知道如何宣布零,因为这似乎不是正确的方法.
它说:
不能隐式地将类型'int'转换为'double?[]'
我在互联网上搜索了一个解决方案,但我发现的一切都没有帮助我.有什么建议吗?
我有这个复杂的对象结构:
myObject = {
"myObject" : [
{
"id" : 1,
"parameters" : [
{
"name" : "name1",
"special" : "xxx"
},
{
"name" : "name2",
"special" : "yyy"
}
]
},
{
"id" : 2,
"parameters" : [
{
"name" : "name3",
"special" : "zzz"
}
]
},
{
"id" : 2,
"parameters" : [
{
"name" : "name4",
"special" : "ttt"
},
{
"name" : "name5",
"special" : "aaa"
},
{
"name" : "name6",
"special" : "zzz"
} …Run Code Online (Sandbox Code Playgroud) 我有一个这种形式的文本输入:
<FormControl className='searchOrder'>
<input
className='form-control'
type='text'
placeholder='Search order'
aria-label='Search'
value={this.number}
input={<Input />}
onChange={this.handleChangeOrderNumber}
/>
</FormControl>
Run Code Online (Sandbox Code Playgroud)
它在功能上运行良好,但我想在输入的左侧添加一个搜索图标,如下所示:
我不知道在哪里添加该代码片段,我尝试了内部输入,但它会引发错误,所以我把它放在后面,但屏幕上没有出现任何图标。
<FormControl className='searchOrder'>
<input
className='form-control'
type='text'
placeholder='Search order'
aria-label='Search'
value={this.number}
input={<Input />}
onChange={this.handleChangeOrderNumber}
/>
<span>
<i class='fas fa-search'></i>
</span>
</FormControl>
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决这个问题?
如果相关,searchOrder css 类:
.searchOrder {
display: flex;
flex-direction: column;
position: absolute;
width: 20%;
max-width: 250px;
height: 20%;
left: 0px;
top: 0px;
background: #ffffff;
border: 1px solid #d9d9d9;
box-sizing: border-box;
border-radius: 4px;
}
Run Code Online (Sandbox Code Playgroud)
更新:
我也尝试过 InputAdornment 但仍然没有出现图标。
<FormControl className='searchOrder'>
<InputLabel htmlFor='input-with-icon-adornment'></InputLabel>
<input
className='form-control'
type='text' …Run Code Online (Sandbox Code Playgroud) 是否可以根据状态变化设置三元组内变量的值?
就像是:
{ this.state.change ? myObj.changeIt = true : null }
Run Code Online (Sandbox Code Playgroud)
像这样写会返回错误: Assignment to property of function parameter 'myObj'
javascript conditional-operator setstate ecmascript-6 reactjs
这是枚举:
enum PossibleValues {
A = 'A',
B = 'B',
C = 'C'
}
Run Code Online (Sandbox Code Playgroud)
这是使用枚举作为字段之一的类型:
export interface MyInterface {
name: string;
age: number;
value: PossibleValues;
}
Run Code Online (Sandbox Code Playgroud)
我假设在这种情况下,因为value它应该只接受来自枚举(A、B 或 C)的值,但我可以放在那里其他值并且它工作正常。
有没有办法将可能的值限制为枚举中的值?
有两个数组,例如:
arr1 = ["a", "b"];
arr2 = ["c", "d"];
Run Code Online (Sandbox Code Playgroud)
我想将第二个的元素添加到第一个,此操作后arr1应如下所示["a", "b", "c", "d"]。发生什么无关紧要arr2。
我尝试了经典方法:arr1.push(arr2)结果如下:["a", "b", Array(2)]。
我想使用 ngTemplate 实现一些东西,并且我正在遵循这个示例。
添加@input 时出现我面临的问题:
import { Component, OnInit, TemplateRef } from '@angular/core';
@Component({
selector: 'app-my',
templateUrl: './my.component.html',
styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {
...
@Input() headingTemplate: TemplateRef<any>;
}
Run Code Online (Sandbox Code Playgroud)
保存后,它会在控制台中显示以下错误消息:
my.component.ts:13 Uncaught ReferenceError: 输入未在模块中定义../src/app/my/my.component.ts (my.component.ts:13)
为什么会发生这种情况以及如何解决?我什至在他们的 github项目上找到了该文件,但仍然不知道。因为我使用的是 Angular 8,所以可能会出现问题吗?
javascript ×7
arrays ×3
reactjs ×2
angular ×1
c# ×1
css ×1
ecmascript-6 ×1
enums ×1
html ×1
input ×1
interface ×1
material-ui ×1
ng-template ×1
object ×1
push ×1
setstate ×1
sorting ×1
typescript ×1