Javascript 基于对象数组对字符串数组进行排序

Javascript 基于对象数组对字符串数组进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我试图根据对象数组对字符串数组进行排序。数组中的项目数与对象中的项目数不同 代码如下: const myObject = [ { title: 'Some string' }, { title: 'another string' }, { title: 'Cool one' } ]; const array = ['Cool one', 'Some string']; // Sort this ar

我试图根据对象数组对字符串数组进行排序。数组中的项目数与对象中的项目数不同

代码如下:

const myObject = [
    {
        title: 'Some string'
    },
    {
        title: 'another string'
    },
    {
        title: 'Cool one'
    }
];

const array = ['Cool one', 'Some string']; // Sort this array based on 'myObject'

您可以使用reduce&findIndex。内部reduce回调函数使用findIndex检查myObject中是否存在元素。如果是这样,那么获取索引并使用它在累加器数组中添加值

常量myObject=[{ 标题:“一些字符串” }, { 标题:“另一个字符串” }, { 标题:“酷一” } ]; 常量数组=['Cool one','Some string']; 设newArray=array.reducefunctionacc,curr{ 让findIndex=myObject.findIndexa=>a.title.toLowerCase.trim==curr.toLowerCase.trim; 如果findIndex!==-1{ acc.pushmyObject[findIndex] } 返回acc; }, [];
console.lognewArray您可以使用reduce&findIndex。内部reduce回调函数使用findIndex检查myObject中是否存在元素。如果是这样,那么获取索引并使用它在累加器数组中添加值

常量myObject=[{ 标题:“一些字符串” }, { 标题:“另一个字符串” }, { 标题:“酷一” } ]; 常量数组=['Cool one','Some string']; 设newArray=array.reducefunctionacc,curr{ 让findIndex=myObject.findIndexa=>a.title.toLowerCase.trim==curr.toLowerCase.trim; 如果findIndex!==-1{ acc.pushmyObject[findIndex] } 返回acc; }, [];
console.lognewArray您可以生成一个索引表,根据该表对数组进行如下排序:

常量myObject=[ {title:'Some string'}, {title:'另一个字符串'}, {标题:“酷一号”} ]; 常量索引=Object.fromEntries myObject.map {title},index=>[标题,索引] ; 常量数组=['Cool one','Some string']; array.sorta,b=>索引[a]-索引[b];
console.logarray 您可以生成一个索引表,根据该表对数组进行如下排序:

常量myObject=[ {title:'Some string'}, {title:'另一个字符串'}, {标题:“酷一号”} ]; 常量索引=Object.fromEntries myObject.map {title},index=>[标题,索引] ; 常量数组=['Cool one','Some string']; array.sorta,b=>索引[a]-索引[b]; console.logarray 我认为您可以使用Array.findIndex和Array.sort来帮助您解决这个问题

常量objectArray=[ {title:'Some string'}, {title:'另一个字符串'}, {标题:“酷一号”} ] 常量字符串数组=[ “酷一号”, “一些绳子” ] const sortFromObject=a,b=>{ //获取对象的索引 常量idxA=objectArray .findIndexobj=>obj.title==a 常量idxB=objectArray .findIndexobj=>obj.title==b //如果它在对象数组中位于第一位, //把这个项目整理一下,否则就把它整理一下 返回idxA-idxB } stringArray.sortsortFromObject 我认为您可以使用Array.findIndex和Array.sort来帮助您解决这个问题

常量objectArray=[ {title:'Some string'}, {title:'另一个字符串'}, {标题:“酷一号”} ] 常量字符串数组=[ “酷一号”, “一些绳子” ] const sortFromObject=a,b=>{ //获取对象的索引 常量idxA=objectArray .findIndexobj=>obj.title==a 常量idxB=objectArray .findIndexobj=>obj.title==b //如果它在对象数组中位于第一位, //把这个项目整理一下,否则就把它整理一下 返回idxA-idxB } stringArray.sortsortFromObject
基于要排序的对象数组的条件。这个问题不是很清楚,因为你们想根据什么标准对对象数组进行排序。问题不是很清楚,但这是对的,我总是忘记排序只需要一个正的或负的,不一定是1。没错,我总是忘记排序只需要一个正的或负的,不一定是1。我试图根据对象对数组进行排序。我试图根据对象对数组进行排序。