我想简化一个对象数组.我们假设我有以下数组:
var users = [{
name: 'John',
email: 'johnson@mail.com',
age: 25,
address: 'USA'
},
{
name: 'Tom',
email: 'tom@mail.com',
age: 35,
address: 'England'
},
{
name: 'Mark',
email: 'mark@mail.com',
age: 28,
address: 'England'
}];
Run Code Online (Sandbox Code Playgroud)
并过滤对象:
var filter = {address: 'England', name: 'Mark'};
Run Code Online (Sandbox Code Playgroud)
例如,我需要按地址和名称过滤所有用户,所以我循环过滤器对象属性并检查出来:
function filterUsers (users, filter) {
var result = [];
for (var prop in filter) {
if (filter.hasOwnProperty(prop)) {
//at the first iteration prop will be address
for (var i = 0; i < filter.length; i++) {
if …Run Code Online (Sandbox Code Playgroud) 查看Java的String类,我们可以看到哈希代码在第一次评估后被缓存.
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}
Run Code Online (Sandbox Code Playgroud)
hash实例变量在哪里.我有一个问题,为什么我们需要h额外的变量?
这似乎是一个简单的问题,但我想知道为什么我有这样的String变量:
String name = "John";
Run Code Online (Sandbox Code Playgroud)
然后我正在使用这样的子串方法:
System.out.print(name.substring(3,4));
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如果我改变4为5或更高我得到IndexOutOfBoundsException.但正如我理解索引正确,也没有4指数,但outpul将是"n"
J O H N
0 1 2 3
Run Code Online (Sandbox Code Playgroud)
有人可以解释这种行为吗?提前致谢!
我有一个字符串数组,例如:
var names = ["sam", "john", "tom", "travis", "jack"]
Run Code Online (Sandbox Code Playgroud)
我需要创建一个JavaScript对象,它将包含,由一个键分隔的所有这些名称.
看看我想要什么:
var obj = {names : "sam, john, tom, travis, jack"}
Run Code Online (Sandbox Code Playgroud)
我不熟悉JavaScript.我知道我需要遍历我的字符串数组,并以某种方式将值附加到我的对象.
我正在使用jQuery,如果有什么内容会有所帮助.