Ble*_*ien 5 javascript regex json lodash
我的json数组:
[{"id":"7","name":"hello"},{"id":"7","name":"shan"},{"id":"7","name":"john"}
{"id":"7","name":"hello"}]
Run Code Online (Sandbox Code Playgroud)
我想name从一个字母开始得到一个与正则表达式匹配的新数组.
我正在使用正则表达式,但我不知道如何实现它.
这是我的代码:
var newitem=_.filter(result,item=>item.name='hello');
console.log(newitem);
Run Code Online (Sandbox Code Playgroud)
但它只返回严格的匹配name.
请帮我修改上面的内容,以便结果是所描述的新数组.
预期产出
当一个usertype字母h只显示该行
{"id":"7","name":"hello"}
Run Code Online (Sandbox Code Playgroud)
Tus*_*har 10
要检查是否name以字符串开头,可以使用RegExp#testregex.
var newItem = _.filter(result, obj => /^[a-zA-Z]/.test(obj.name));
Run Code Online (Sandbox Code Playgroud)
正则表达式^[a-zA-Z]将检查名称是否以字母开头.
var arr = [{
"id": "7",
"name": "hello"
}, {
"id": "7",
"name": "shan"
}, {
"id": "7",
"name": "jhon"
}, {
"id": "7",
"name": "hello"
}, {
id: 10,
name: '$haun'
}];
var newItem = _.filter(arr, obj => /^[a-zA-Z]/.test(obj.name));
console.log(newItem);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.com/libraries/lodash.js/"></script>Run Code Online (Sandbox Code Playgroud)
可以使用相同的代码编写Array#filter.
arr.filter(obj => /^[a-zA-Z]/.test(obj.name));
Run Code Online (Sandbox Code Playgroud)
var arr = [{
"id": "7",
"name": "hello"
}, {
"id": "7",
"name": "*shan"
}, {
"id": "7",
"name": "jhon"
}, {
"id": "7",
"name": "hello"
}, {
id: 10,
name: '$haun'
}];
var newItem = arr.filter(obj => /^[a-zA-Z]/.test(obj.name));
console.log(newItem);
document.body.innerHTML = '<pre>' + JSON.stringify(newItem, 0, 4) + '</pre>';Run Code Online (Sandbox Code Playgroud)
更新:
当一个usertype字母h它只显示行
您可以使用
_.filter(result, obj => /^h/.test(obj.name));
Run Code Online (Sandbox Code Playgroud)
i无论大小写如何,都使用-case insensitive标志来匹配字母表.这将同时匹配h和H.
| 归档时间: |
|
| 查看次数: |
9141 次 |
| 最近记录: |