现在我有这样的代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain1.com
RewriteRule ^(.*)$ newdomain.com/$1 [R=permanent,L]
我想对这种数组进行排序
sortArticles = (someArray) => {
const result = [];
let isValid = someArray.filter(item => item.isValid);
let isInvalid = someArray.filter(item => !item.isValid);
valid = funcSortArrayOfObjByKey(arrayChecked, 'article');
invalid = funcSortArrayOfObjByKey(arrayUnchecked, 'article');
// funcSortArrayOfObjByKey - is a function to sort, a kind of lodash implementation without unnecessary dependency
return result.concat(valid).concat(invalid);
}
结果,我想看到这样的数组:
[
{
article: 'Some New Zarticle',
isValid: false
},
{
article: 'Some New Article',
isValid: false
},
{
article: 'Some New Zzarticle',
isValid: true
},
]
因此:我需要某种类型的两个数组:第一个数组和第二个数组(一个带有'isValid',另一个没有),并且两个数组都应按'article'进行排序。这有可能吗? 我也尝试过这种方式:
[
{
article: 'Some New Zzarticle',
isValid: true
},
{
article: 'Some New Article',
isValid: false
},
{
article: 'Some New Zarticle',
isValid: false
},
]
但是它并没有按照我想要的方式工作...
答案 0 :(得分:1)
您的分支是反向的:
someArray.sort((a, b) => {
if (a.isValid != b.isValid) {
// ^^
return b.isValid - a.isValid;
} else {
return a.article.localeCompare(b, undefined, { sensitivity: 'base' });
}
})
答案 1 :(得分:0)
我能够使用此方法根据isValid和文章对数组进行排序。
someArray.sort(function(a, b) {
if (a.isValid === b.isValid) {
return a.article.localeCompare(b.article);
} else {
return (a.isValid) ? -1 : 1;
}
});