相关疑难解决方法(0)

JavaScript过滤器检查多个值?

我想知道如何从这样的数组返回多个值:

var countries = [
    { key: "Spain", doc_count: 1378 },
    { key: "Greece", doc_count: 1259 }
];
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我设置的内容,可以很好地返回单个值。我想知道如何才能通过多个国家/地区,而不是寻找一个国家/地区。

var countriesFound = countries.filter(function(country) {
    return country.key === 'Spain';
});
Run Code Online (Sandbox Code Playgroud)

关于这一点,我还想将找到的对象添加到数组的前面,这样我就可以在countrys数组中复制它。

使用此方法会导致一些意外的结果,因为我最终将一个数组作为countrys数组中的第一项,并将想要的对象存储在该数组中。

countries.unshift(countriesFound);
Run Code Online (Sandbox Code Playgroud)

结果输入(至少我认为它看起来像这样):

var countries = [
    [{ key: "Spain", doc_count: 1378 }],
    { key: "Spain", doc_count: 1378 },
    { key: "Greece", doc_count: 1259 }
];
Run Code Online (Sandbox Code Playgroud)

javascript arrays

4
推荐指数
2
解决办法
2173
查看次数

如何在JS中过滤多个字符串?

我希望能够过滤数组中的多个字符串(类型).例如,我想在下面的数据结构中过滤类型和类型水果.我想要实现的是过滤后的数据对象.

const data = [{type: "meat", food: "hamburger"}, {type:"fruit", food:"banana"}, {type:"fish", food: "red snapper"}, {type:"vegetables", food:"fungi"}]

let filter1 = 'meat'
let filter2 = 'fruit'

const filteredData = data.filter( post => post.type.includes(filter1, filter2) ? post:'');

// My expected result after filtering: [{type: "meat", food: "hamburger"}, {type:"fruit", food:"banana"}]
Run Code Online (Sandbox Code Playgroud)

不幸的是,它返回了4个结果而不是上面预期的2个结果.

我知道如何在像_underscore.js这样的库中处理它,但我想在现代的EcmaScript中实现它.

javascript filtering filter include ecmascript-6

3
推荐指数
1
解决办法
498
查看次数

如何在javascript中过滤数组中的多个值

我有一个 json 元素数组。我想根据特定值过滤数组。下面是数组。

var arr = [
{name: bobby, id: 1, age: 23},
{name: charls, id: 2, age: 28},
{name: indi, id: 3, age: 23},
{name: charlie, id: 4, age: 25}]
Run Code Online (Sandbox Code Playgroud)

从上面的数组中,我只想过滤姓名为 bobby && indi 的员工。我已经尝试过下面的代码。

var filteredArray;
for (var i =0 ; i < arr.length; i++){
    if(arr[i].name === 'bobby' || arr[i].name === 'indi'){
        filteredArray.push(arr[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

但通过上面的代码,我需要多次提及 OR(||) 条件,并且这些名称的数量可能会发生变化,比如 1 次我只想要具有 Bobby 名字的员工,其他时候我想要 Bobby、Indi 和 Charlie。有没有办法让它动态化。如果是,请告诉我。提前致谢。

javascript arrays filtering

3
推荐指数
1
解决办法
5193
查看次数

标签 统计

javascript ×3

arrays ×2

filtering ×2

ecmascript-6 ×1

filter ×1

include ×1